Hum*_*ity 3 c++ inheritance object
class A
{
public: int a,b,c;
};
class B: public A
{
public: int d;
B():d(0){} // Some hackery needed here
};
int main()
{
B obj;
std::cout<< obj.a << std::endl; // garbage
std::cout<< obj.b << std::endl; // garbage
std::cout<< obj.c << std::endl; // garbage
std::cout<< obj.d << std::endl; // 0
}
Run Code Online (Sandbox Code Playgroud)
如何将子对象数据成员a,b和c初始化为0?我不被允许修改A类.
尝试
B() : A() , d(0){}
Run Code Online (Sandbox Code Playgroud)
A()值初始化A,因为A是POD,所以成员将被默认(零)初始化
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |