self type objects

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
Topic archived. No new replies allowed.