Ian Collins wrote:
> Usenet.9.OkianWarrior@[EMAIL PROTECTED]
wrote:
>> I'd like to create a new type which is polymorphic to int but has some
>> different characteristics, something like this:
>>
>> struct ModuloInt : int { // <-- Note: class
>> derives from int
>> ModuloInt(int Value) : int(Value) {};
>> };
>>
>> int main(void) {
>>
>> ModuloInt i = 10;
>> }
>>
> No, you can't do this.
>
>> I can of course make the new class by composition and operator
>> overloading, but I always thought that the builtin types were
>> considered cl***** in C++.
>>
> No they are not. Maybe you are thinking of Java?
>
Even in Java you can't derive from int - that's a 'native data type', and
not a class. "Integer" is a class, but since it's 'final' you can't
derive
from it, either. Ruby and C# (and other) will let you derive from int, as
they treat int (and float, and double, etc) as full-fledged objects.
--
Al Dunstan, Software Engineer
OptiMetrics, Inc.
3115 Professional Drive
Ann Arbor, MI 48104-5131


|