社区
C++ 语言
帖子详情
C/C++中构造函数和析构函数能否被继承
阿翔ax
2012-08-03 10:48:52
RT,我看书上写的是类中唯一不能被继承的是=的重载函数,但是我在做一些习题时发现一些题目答案中说构造函数和析构函数也不能被继承,为什么?谁能证明一下??
...全文
1068
8
打赏
收藏
C/C++中构造函数和析构函数能否被继承
RT,我看书上写的是类中唯一不能被继承的是=的重载函数,但是我在做一些习题时发现一些题目答案中说构造函数和析构函数也不能被继承,为什么?谁能证明一下??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangzj_03
2012-10-18
打赏
举报
回复
构造函数和析构函数是不能被继承的
十八道胡同
2012-08-03
打赏
举报
回复
这个有标准的。 不需要解释
pengzhixi
2012-08-03
打赏
举报
回复
标准方面做了要求的。Even though destructors are not inherited
wenhong609
2012-08-03
打赏
举报
回复
构造函数不会被继承,但是子类的构造函数会显示的调用父类的构造函数或隐式的调用父类的默认的构造函数进行父类部分的初始化,析构函数也一样!
风吹无迹雨落无痕
2012-08-03
打赏
举报
回复
从一个简单的方向去理解:有两个类,是继承关系。如果在派生类中要用到基类中的元素,那么怎么去初始化它?当然是要利用基类的构造函数去初始化它啦!楼主说呢?当然这里的条件是理想的咯!
析构函数在其中是默认完全继承。而构造函数可能有多种,所以在不显示继承调用父类构造函数的情况下,子类只能继承父类的默认构造函数,就是没有任何参数的构造函数。
惟愿莲心不染尘
2012-08-03
打赏
举报
回复
if(子类没有自定义构造函数)
{
if(基类没有自定义构造函数)
{
用子类定义对象时,先自动调用基类的默认构造函数,再调子类的默认构造函数。
}
else if(基类有自定义无参构造函数)
{
用子类定义对象时,先自动调用基类的自定义无参构造函数,再调子类的默认构造函数。
}
else
{
用子类定义对象时,编译提示没有默认构造函数可用
}
}
else if(子类自定义构造函数但没有调用基类的某个构造函数)
{
if(基类没有自定义构造函数)
{
用子类定义对象时,先自动调用基类的默认构造函数,再调子类的自定义构造函数。
}
else if(基类有自定义无参构造函数)
{
用子类定义对象时,先自动调用基类的自定义无参构造函数,再调子类的自定义构造函数。
}
else
{
用子类定义对象时,编译提示没有默认构造函数可用
}
}
http://blog.sina.com.cn/s/blog_64d57e710100n24f.html
lylm
2012-08-03
打赏
举报
回复
好像没有见过函数之间的继承
类之间有继承
你说的继承我理解大概这个意思:比如汽车继承交通工具,汽车构造时,就先调用交通工具的构造函数,同样,析构时,先调用汽车析构函数,再调用交通工具的
wshn13
2012-08-03
打赏
举报
回复
构造函数怎么继承?
C++
构造函数
,复制
构造函数
和
析构函数
专题[1].pdf
C++
构造函数
,复制
构造函数
和
析构函数
专题[1].pdf
C++
继承
,虚函数与多态性专题.pdf
C++
课程作业
继承
与派生 (motorcycle类设计(虚基类))
声名一个基类vehicle,有私有成员maxspeed和weight,公有成员run()和stop(),以及构造和
析构函数
。 从vehicle派生bicycle和motorcar, bicycle有私有成员height, motorcar有私有成员seatnum,以及各自的
构造函数
和
析构函数
。 从bicycle和motorcar派生出motorcycle,观察虚基类对
继承
的影响。 定义一个motorcycle的对象,分别调用run()和stop(),观察构造/
析构函数
的调用情况。 注意:
构造函数
和
析构函数
中
均为cout语句,说明哪个构造/
析构函数
被调用。 该题重点和难点在于
构造函数
的设计,需考虑怎么给基类及最远基类传递参数。
C_
C++
问题总结
C/
C++
问题总结 1. 关键字 1.1 const 1.1.1 常量 1.1.2 修饰指针 1.1.3 修饰函数参数与返回值 1.1.4 类
中
的应用 1.2 static 1.3 volatile 1.4 extern 2. 函数 2.1 sizeof与strlen区别 2.2 strcpy、sprintf与memcpy 2.3 new/delete 与 malloc/free 2.4 确定一个数转化成二进制后是1的位的个数 2.5 ++i和i++的区别 3. 常见问题 3.1 数组名和指针的区别 3.2 指针和引用的区别 3.3
构造函数
能否为虚函数 3.4 C语言编译全过程 3.5 单例模式 3.5.1 如何实现单例模式 3.5.2 如何实现单例模式 3.6 返回“引用”的格式、好处、注意事项 3.7 指针的表示 3.8 拷贝
构造函数
的调用时机 3.9 如何确保对象在抛出异常时也能被删除?什么是RAII? 3.10 仿函数的实现 3.11 在
构造函数
和
析构函数
中
抛出异常会发生什么?什么是栈展开? 3.12 两种常用的实现隐式类类型转换的方式是什么?如何避免隐式类 型转换?3.13 STL
中
的vector:增减元素对迭代器的影响 3.14 STL
中
排序算法的实现 3.15 C和
C++
的区别 3.16 内存对齐 3.17
C++
转换机制(static_cast、dynamic_cast、reinpreter_cast、 const_cast) 3.18 深拷贝和浅拷贝 3.18 动态绑定和静态绑定 3.19 实现不能在堆、栈分配的类,不能被
继承
的类 3.20 堆和栈 3.20.1 程序内存分配 3.20.2 堆和栈 3.20.3 栈溢出
C++
继承
,虚函数与多态性专题
本文分两部分即
继承
和虚函数与多态性,本文第一部分详细讲解了
继承
时的
构造函数
和
析构函数
的问题,父类与子类的 同名变量和函数问题,最后介绍了多重
继承
与虚基类。本文第二部分重点介绍了虚函数与多态性的问题,因此学习虚函 数的基础是
继承
,因此在学习虚函数前应学好
继承
。本文详细易懂,内容全面,是学习
C++
的不错的资料。
高质量C/
C++
编程指南(PDF)
目 录 前 言6 第1 章 文件结构 1.1 版权和版本的声明. 1.2 头文件的结构. 1.3 定义文件的结构. 1.4 头文件的作用. 1.5 目录结构. 第2 章 程序的版式 2.1 空行. 2.2 代码行. 2.3 代码行内的空格. 2.4 对齐. 2.5 长行拆分. 2.6 修饰符的位置. 2.7 注释. 2.8 类的版式. 第3 章 命名规则 3.1 共性规则. 3.2 简单的WINDOWS 应用程序命名规则. 3.3 简单的UNIX 应用程序命名规则 第4 章 表达式和基本语句 4.1 运算符的优先级. 4.2 复合表达式. 4.3 IF 语句 4.4 循环语句的效率. 4.5 FOR 语句的循环控制变量. 4.6 SWITCH 语句. 4.7 GOTO 语句. 第5 章 常量 5.1 为什么需要常量. 5.2 CONST 与 #DEFINE 的比较. 5.3 常量定义规则. 5.4 类
中
的常量. 第6 章 函数设计 高质量
C++
/C 编程指南,v 1.0 2001 Page 4 of 101 6.1 参数的规则. 6.2 返回值的规则. 6.3 函数内部实现的规则. 6.4 其它建议. 6.5 使用断言. 6.6 引用与指针的比较. 第7 章 内存管理 7.1 内存分配方式 7.2 常见的内存错误及其对策 7.3 指针与数组的对比 7.4 指针参数是如何传递内存的? 7.5 FREE 和DELETE 把指针怎么啦? 7.6 动态内存会被自动释放吗?. 7.7 杜绝“野指针”. 7.8 有了MALLOC/FREE 为什么还要NEW/DELETE ?. 7.9 内存耗尽怎么办?. 7.10 MALLOC/FREE 的使用要点 7.11 NEW/DELETE 的使用要点. 7.12 一些心得体会 第8 章
C++
函数的高级特性 8.1 函数重载的概念. 8.2 成员函数的重载、覆盖与隐藏. 8.3 参数的缺省值. 8.4 运算符重载. 8.5 函数内联. 8.6 一些心得体会. 第9 章 类的
构造函数
、
析构函数
与赋值函数 9.1
构造函数
与
析构函数
的起源. 9.2
构造函数
的初始化表. 9.3 构造和析构的次序. 9.4 示例:类STRING 的
构造函数
与
析构函数
9.5 不要轻视拷贝
构造函数
与赋值函数. 9.6 示例:类STRING 的拷贝
构造函数
与赋值函数 9.7 偷懒的办法处理拷贝
构造函数
与赋值函数. 9.8 如何在派生类
中
实现类的基本函数. 9.9 一些心得体会. 第10 章 类的
继承
与组合. 高质量
C++
/C 编程指南,v 1.0 2001 Page 5 of 101 10.1
继承
10.2 组合 第11 章 其它编程经验. 11.1 使用CONST 提高函数的健壮性 11.2 提高程序的效率 11.3 一些有益的建议 参考文献 附录A :
C++
/C 代码审查表. 附录B :
C++
/C 试题. 附录C :
C++
/C 试题的答案与评分标准.
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章