C++子类有构造函数为何还继承父类的构造函数
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 23:58:50
C++子类有构造函数为何还继承父类的构造函数
我写的程序
#include
#include"laoyouwei.h"
using namespace std;
void wo(you &ou)
{
ou.show();
}
void main()
{
you a;
youwei b;
laoyouwei c;
c.show();
wo(a);
cout
我写的程序
#include
#include"laoyouwei.h"
using namespace std;
void wo(you &ou)
{
ou.show();
}
void main()
{
you a;
youwei b;
laoyouwei c;
c.show();
wo(a);
cout
所谓继承,就是指子类“是一种”基类.所以子类一定会具备基类的所有特征.
子类无法访问基类的私有成员,所以必须调用父类的构造函数来初始化父类的成员.
对於子类来说,它不是“不会调用父类的构造函数”,而是“隠藏”了它.必要时候,你还是可以用特殊方法显式调用的.
为了达到你的目的,你有两个选择:
一,为基类提供一个怠工(dummy)构造函数,不作为.
二,声明为虚函数.
BTW,构造函数唯一的目的在於初始化对象.获取资源而不初始化,有悖RAII原则.所以基本上,第一种情况不大可能出现.
子类无法访问基类的私有成员,所以必须调用父类的构造函数来初始化父类的成员.
对於子类来说,它不是“不会调用父类的构造函数”,而是“隠藏”了它.必要时候,你还是可以用特殊方法显式调用的.
为了达到你的目的,你有两个选择:
一,为基类提供一个怠工(dummy)构造函数,不作为.
二,声明为虚函数.
BTW,构造函数唯一的目的在於初始化对象.获取资源而不初始化,有悖RAII原则.所以基本上,第一种情况不大可能出现.
java中的子类继承父类的构造函数可以不用super吗,还有就是子类要全部继承父类的构造函数吗
请看一下下面的Java关于子类父类的构造函数问题,谢谢!
java编程求高手 2.定义类Shape和子类Circle、Cylinder.定义类的无参构造函数和有参构造函数,并增加
为何构造函数不能成为虚函数?
> 什么是构造函数?构造函数..
在派生类构造函数的定义中可以省略对基类构造函数的调用,其条件是基类中必须有默认的构造函数
java类中定义构造函数时定义了一个有参数的构造函数 ,是否必须定义空参数构造函数?
对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化
构造函数有什么作用?
描述构造函数如何在继承中使用
类构造函数定义的位置是
默认构造函数的定义