永发信息网

C++子类会无条件继承父类的构造函数么

答案:5  悬赏:60  手机版
解决时间 2021-11-29 19:07
  • 提问者网友:心如荒岛囚我终老
  • 2021-11-29 05:49
C++子类会无条件继承父类的构造函数么
最佳答案
  • 五星知识达人网友:煞尾
  • 2021-11-29 06:15
在C++中,构造函数不会自动继承,只是如果子类没有写构造函数,那么系统会这个类自动添加一个默认构造函数,是一个空函数体,所以什么也没有做,接着就会调用父类的构造函数,所以你觉得是继承了父类的构造函数。

        子类和父类的构造函数的调用顺序:

class B:public A
B b1;  那么构造函数的调用顺序是:A(),B()
  如果不想调用基类的构造函数,那么就应该在子类中写一个构造函数。

全部回答
  • 1楼网友:封刀令
  • 2021-11-29 10:14
会的,会自动继承

如果不想的话,在定义子类的时候再写一遍构造函数,这叫做重载,这样这个子类生成的时候就会调用自己的那个构造函数
  • 2楼网友:几近狂妄
  • 2021-11-29 08:48
书上说的是对的 ,在每个类中如果用户自己不定义构造函数那么系统会自动生成一个但是不做任何初始化的工作,你写的可能没有语法错误,但应该是系统生成自动的,无法完成初始化工作
  • 3楼网友:醉吻情书
  • 2021-11-29 07:31
不想让子类去自动调用基类的构造函数....

你给出一个子类的析构函数实现即可。这样对象销毁时就会调用子类的析构函数。
  • 4楼网友:妄饮晩冬酒
  • 2021-11-29 06:55
在C++中,构造函数不会自动继承,只是如果子类没有写构造函数,那么系统会这个类自动添加一个默认构造函数,是一个空函数体,所以什么也没有做,接着就会调用父类的构造函数,所以你觉得是继承了父类的构造函数。

子类和父类的构造函数的调用顺序:
class B:public A
B b1;
那么构造函数的调用顺序是:A(),B()

至于你不想调用基类的构造函数,那就自己写。希望可以帮到你。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯