Ive recently seen a bit of code, cant remember excally what is was but it went sumthing like this:
class MyClass1 {
// stuff
};
class MyClass2 : public MyClass1 {
// stuff
};
Now to declare an object of these, I thought the way you did it was like this:
MyClass1 myClass1;
MyClass1 *myClass1 = new MyClass1;
MyClass2 myClass2 = new MyClass2;
etc.
But I saw it declared like this:
MyClass2 *myClass2 = new MyClass1;
or
MyClass1 *myClass1 = new MyClass2;
(can both be used?)
As you can see its declared MyClass2 but called new MyClass1?
(Similar to doing: int myInt = new String, i know bad example but this is what it seems like).
Can someone clarify how this works?
Thx
class MyClass1 {
// stuff
};
class MyClass2 : public MyClass1 {
// stuff
};
Now to declare an object of these, I thought the way you did it was like this:
MyClass1 myClass1;
MyClass1 *myClass1 = new MyClass1;
MyClass2 myClass2 = new MyClass2;
etc.
But I saw it declared like this:
MyClass2 *myClass2 = new MyClass1;
or
MyClass1 *myClass1 = new MyClass2;
(can both be used?)
As you can see its declared MyClass2 but called new MyClass1?
(Similar to doing: int myInt = new String, i know bad example but this is what it seems like).
Can someone clarify how this works?
Thx
Last edited: