C++子类有构造函数为何还继承父类的构造函数
发布网友
发布时间:2022-05-20 22:03
我来回答
共3个回答
热心网友
时间:2023-10-25 07:34
子类包含父类
并且,子类无法访问父类的私有成员,所以子类必须调用父类的构造函数来初始化父类的成员。
热心网友
时间:2023-10-25 07:35
所谓继承,就是指子类“是一种”基类。所以子类一定会具备基类的所有特征。
子类无法访问基类的私有成员,所以必须调用父类的构造函数来初始化父类的成员。
对於子类来说,它不是“不会调用父类的构造函数”,而是“隠藏”了它。必要时候,你还是可以用特殊方法显式调用的。
为了达到你的目的,你有两个选择:
一,为基类提供一个怠工(mmy)构造函数,不作为。
二,声明为虚函数。
BTW,构造函数唯一的目的在於初始化对象。获取资源而不初始化,有悖RAII原则。所以基本上,第一种情况不大可能出现。
热心网友
时间:2023-10-25 07:35
就是这样的阿
实例一个子类的时候,也会实例一个父类的,我是这么理解的