采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,没太明白你所说的普通成员函数通过this指针去访问。 在例子里,shapes[0]的指针指向了栈空间的square类s1变量,一共16个字节,有1个4字节存储了虚函数的虚表指针,1个4字节存储int变量,1个8字节存储了double变量。 不太明白这个this指针的意思,this指针不是指向这个16字节的类变量么,这个类普通成员函数又是存储在什么空间里的呢?是编译时就生成的静态地址么?
你注意我在Hack过程中的ecx值,一般this指针用它来记录,从而能访问类成员信息。
老师,你好,我发现子类成员函数里*this的大小和父类成员函数里*this的大小是不一样的。 在调用display时候其实是当时this是指向{area(), display(), color}这三个变量么?
C++是一门细节很繁杂的语言,类的成员函数不占空间,只有成员变量和虚表占空间。我们课程时间没法讲那么细,你感兴趣可以看看《C++对象模型》。
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.2k 12
1.3k 10
1.2k 9
1.0k 9