社区
C++ 语言
帖子详情
问一下大家c++派生类初始化的问题
Yilis_
2019-04-21 10:21:03
如图,CBuliding是一个含有protected成员的基类,CHousing是其派生类,而在初始化的时候我尝试了四种初始化方式,而有两种有错,想问一下大家这是为什么,按道理来说派生类已经具有访问protected成员的权限了,为什么第四种初始化失败而第一种初始化可以,谢谢大家了
...全文
157
3
打赏
收藏
问一下大家c++派生类初始化的问题
如图,CBuliding是一个含有protected成员的基类,CHousing是其派生类,而在初始化的时候我尝试了四种初始化方式,而有两种有错,想问一下大家这是为什么,按道理来说派生类已经具有访问protected成员的权限了,为什么第四种初始化失败而第一种初始化可以,谢谢大家了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
幻夢之葉
2019-04-22
打赏
举报
回复
1:不是严格意义的初始化,严格意义它是赋值操作。严格意义的初始化:在初始化列表指出,类内初始化(C++11之后得到全面支持) 2:派生类中不可以对基类的成员数据进行直接初始化,这是标准规定的
Italink
2019-04-22
打赏
举报
回复
第一个错误是: 变量(变量)只在函数标签那可以这么用。
第二个错误:明明是在标签那用,为什么还会报错?其实是CHousing每执行一个构造函数,首先会调用父类的构造函数,你可以理解为,每一个CHouseing构造函数的第一条隐藏代码都是CBuliding();所以这样你也就无法在标签中访问父类的数据了,因为标签外都没有构造父类,要进入函数体{},才行
qq_43255148
2019-04-22
打赏
举报
回复
1、变量不能直接用()赋值,在初始化列表的时候可以 2、派生类不能直接对基类的成员函数初始化
C/
C++
指针经典资料大全
C/
C++
指针经典资料大全,十余部经典资料书籍,是您精通C指针的理想教程。
C++
必知必会(入门经典)
这是一本
C++
入门的绝佳图书,内容讲解清楚,能使学习
C++
的程序员们少走不少弯路~~~
从资源DLL中选取图标的对话框
这是一个从资源DLL中选取图标的对话框
C++
派生类
的
初始化
顺序
重要的是要注意,即使你在
派生类
的
初始化
列表中显式地指定了基类和成员变量的
初始化
顺序,实际的
初始化
顺序还是按照它们在
派生类
定义中的声明顺序来决定的。:首先,按照基类在
派生类
中的声明顺序,从基类到基类依次调用它们的构造函数。:在基类的构造函数调用之后,
派生类
的成员变量按照它们在
派生类
定义中的声明顺序进行
初始化
。这包括所有的数据成员,无论它们是基本类型还是其他类的对象。:在所有基类和成员变量的构造函数调用完成之后,执行
派生类
构造函数的函数体。的构造函数,然后按照成员变量在
派生类
中的声明顺序调用。
C++
派生类
中如何
初始化
基类对象
C++
派生类
中如何
初始化
基类对象 今天收到盛大的面试,
问
我一个
问
题
,关于
派生类
中如何
初始化
基类对象,我在想
派生类
对于构造函数不都是先构造基类对象,然后在构造子类对象,但是如果我们在成员
初始化
列表先
初始化
派生类
的私有成员,在函数内去调用基类的构造函数,能编译通过吗?或者当我们定义了基类的默认构造函数,而没有去在
派生类
的构造函数中显示的去调用基类的构造函数,会出现什么状况,我想
派生类
肯定会自动去调用...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章