Nov 1, 2019 at 7:01pm
Why we can't create a self type object inside the class unless it was a pointer or a static one ?
Nov 1, 2019 at 7:05pm
1 2 3
|
class SelfTypeObject {
SelfTypeObject obj; // (BAD)
};
|
What would
sizeof(SelfTypeObject)
be?
Put another way:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
class SelfTypeObject {
public:
SelfTypeObject obj; // (BAD)
int a;
};
int main()
{
SelfTypeObject obj;
obj.a = 5;
obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.a = 3;
obj.obj.obj.obj.obj.a = 42;
obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.a = 1729;
obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.obj.a = 12345678;
}
|
How many obj objects exist? How much space (memory) is needed for these objects?
Are all those 'a' variables different objects?
Last edited on Nov 1, 2019 at 7:10pm
Nov 1, 2019 at 7:14pm
I got it .. Thank you very much