在派生类构造函数的定义中可以省略对基类构造函数的调用,其条件是基类中必须有默认的构造函数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 19:22:59
在派生类构造函数的定义中可以省略对基类构造函数的调用,其条件是基类中必须有默认的构造函数
这句话该请怎么理解,请举例说明,
这句话该请怎么理解,请举例说明,
这个动动手,写段下面这样的代码,试一下即可.
class Base
{
public Base()
{printf("I am base.");}
}
public Derived : public Base
{
public Derived()
{
// 这个构造函数会自动调用Base的构造函数
printf("I am derived.");
}
}
然后,你在main()里Dervied c = new Derived();试一下输出结果就知道了.
再问: Dervied c = new Derived(),new Derived()什么意思?怎么把new Derived()赋给类的对象了?
再答: 就是new一个派生类的对象c啊,C++的new操作好象没有这个(),我记不太清了。 Dervied c = new Derived; 就是新建一个派生类Derived的对象实例,这样你可以观察到派生类及其父类构造子被调用的顺序。
class Base
{
public Base()
{printf("I am base.");}
}
public Derived : public Base
{
public Derived()
{
// 这个构造函数会自动调用Base的构造函数
printf("I am derived.");
}
}
然后,你在main()里Dervied c = new Derived();试一下输出结果就知道了.
再问: Dervied c = new Derived(),new Derived()什么意思?怎么把new Derived()赋给类的对象了?
再答: 就是new一个派生类的对象c啊,C++的new操作好象没有这个(),我记不太清了。 Dervied c = new Derived; 就是新建一个派生类Derived的对象实例,这样你可以观察到派生类及其父类构造子被调用的顺序。
在派生类构造函数的定义中可以省略对基类构造函数的调用,其条件是基类中必须有默认的构造函数
默认构造函数的定义
C++类中如果不定义复制构造函数的话,系统是不是自己定义默认的复制构造函数?
java类中定义构造函数时定义了一个有参数的构造函数 ,是否必须定义空参数构造函数?
可以定义没有构造函数的类吗?任一类必须要由构造函数吗?
类构造函数定义的位置是
C++中,默认构造函数、无参构造函数、带有默认值的构造函数,究竟怎么区分?
定义一个复数类.(1)构造函数重载默认构造函数 、带参数构造函数(2)定义友元函数,完成输出复数对象的功能.(3)定义成
下面函数中,可以作为虚函数的是( ) A 普通函数 B 默认构造函数 C 带参构造函数 D 析构函数
为什么定义了复制构造函数就必须定义默认构造函数?
定义圆类circle,数据成员有半径radius,成员函数有默认构造函数,默认半径为10,构造函数,计算圆面积圆周长以及
用point类公有派生一个line类,其数据成员为起点和终点,给出完整的line类定义,其中包括构造拷贝析构函数