C++中,建立子类对象的时候,会调用基类的构造函数,

那么我就想问:到底在内存中有没有,为父类对象分配内存?还是说只是有子类的对象?... 那么我就想问:到底在内存中有没有,为父类对象分配内存?还是说只是有子类的对象? 展开
 我来答
zjfaok
2015-08-30 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1622万
展开全部
派生类的对象中包含了基类的对象。例外是存在“空基类优化”(empty base optimization)的场合,此时基类对象不占内存,不过只有基类对象没有数据成员(“为空”)的时候才有空基类优化,所以这没有什么影响。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjnny
2015-08-30 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1065万
展开全部

会调用基类的构造函数,内存中的对象应该看作一层包一层的形象,推荐一本书和这个问题相关的深度探索C++对象模型例子如下,在最后return处打断点

#include <iostream>
 
using namespace std;
class A
{
public:
    A(){ cout<<"A()"<<endl;}
    ~A(){cout<<"~A()"<<endl;}
};
class B:public A
{
    public:
    B(){ cout<<"B()"<<endl;}
    ~B(){cout<<"~B()"<<endl;}
};

int main()
{
    A a;
    B b;//构造和析构,B和A都涉及到了
    return 0;//这一行打断点,debug
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赦聚
2015-08-30 · TA获得超过1667个赞
知道小有建树答主
回答量:515
采纳率:0%
帮助的人:336万
展开全部
为父类对象分配了内存,其有两个对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式