【发布时间】:2020-11-10 11:40:53
【问题描述】:
#include<bits/stdc++.h>
using namespace std;
class abc {
public:
int a = 45;
void sum() {
int s = 55;
cout << s + a << endl;
}
};
class xyz: public abc {
public: int b = 45;
int c = 54;
int d = 96;
int x = 8;
void show() {
cout << "xyz class" << endl;
}
};
int main() {
abc * ob;
xyz d;
ob = & d;
cout << sizeof( * ob) << endl;
}
为什么sizeof 函数在这种情况下返回 4?
从我的立场来看,指针ob 指向一个已经创建的对象d 的派生类xyz,其大小为20。所以sizeof(*ob) 也应该返回这个值:20。
【问题讨论】:
标签: c++ c++11 c++14 size sizeof