欢迎来到天天文库
浏览记录
ID:14451388
大小:31.50 KB
页数:3页
时间:2018-07-28
《子类调用父类带参数的构造函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在子类中调用父类的带参数的构造函数 下面我们修改一下animal类的构造函数,增加两个参数height和weight,在子类中调用父类的带参数的构造函数,分别表示动物的高度和重量,代码如例2-13所示,类中普通的成员变量也可以采取此种方式进行初始化,然而,例2-13#includeclassanimal{publi下面我们修改一下animal类的构造函数,增加两个参数height和weight,分别表示动物的高度和重量。代码如下所示。#include classanimal {
2、 public: animal(intheight,intweight) {cout<<"animalconstruct"<3、{ cout<<"animalbreathe"<4、fh时,它需要先构造animal类的对象,调用animal类的默认构造函数(即不带参数的构造函数),而在我们的程序中,animal类只有一个带参数的构造函数,在编译时,因找不到animal类的默认构造函数而出错。因此,在构造fish类的对象时(调用fish类的构造函数时),要想办法去调用animal类的带参数的构造函数,那么,我们如何在子类中向父类的构造函数传递参数呢?可以采用如例2-14所示的方式,在构造子类时,显式地去调用父类的带参数的构造函数。例2-14 #include classanimal 5、 { public: animal(intheight,intweight) { cout<<"animalconstruct"<6、加一个冒号(:),然后加上父类的带参数的构造函数。这样,在子类的构造函数被调用时,系统就会去调用父类的带参数的构造函数去构造对象。这种初始化方式,还常用来对类中的常量(const)成员进行初始化,如下面的代码所示: classpoint { public: point():x(0),y(0) private: constintx; constinty; };当然,类中普通的成员变量也可以采取此种方式进行初始化,然而,这就没有必要了。
3、{ cout<<"animalbreathe"<4、fh时,它需要先构造animal类的对象,调用animal类的默认构造函数(即不带参数的构造函数),而在我们的程序中,animal类只有一个带参数的构造函数,在编译时,因找不到animal类的默认构造函数而出错。因此,在构造fish类的对象时(调用fish类的构造函数时),要想办法去调用animal类的带参数的构造函数,那么,我们如何在子类中向父类的构造函数传递参数呢?可以采用如例2-14所示的方式,在构造子类时,显式地去调用父类的带参数的构造函数。例2-14 #include classanimal 5、 { public: animal(intheight,intweight) { cout<<"animalconstruct"<6、加一个冒号(:),然后加上父类的带参数的构造函数。这样,在子类的构造函数被调用时,系统就会去调用父类的带参数的构造函数去构造对象。这种初始化方式,还常用来对类中的常量(const)成员进行初始化,如下面的代码所示: classpoint { public: point():x(0),y(0) private: constintx; constinty; };当然,类中普通的成员变量也可以采取此种方式进行初始化,然而,这就没有必要了。
4、fh时,它需要先构造animal类的对象,调用animal类的默认构造函数(即不带参数的构造函数),而在我们的程序中,animal类只有一个带参数的构造函数,在编译时,因找不到animal类的默认构造函数而出错。因此,在构造fish类的对象时(调用fish类的构造函数时),要想办法去调用animal类的带参数的构造函数,那么,我们如何在子类中向父类的构造函数传递参数呢?可以采用如例2-14所示的方式,在构造子类时,显式地去调用父类的带参数的构造函数。例2-14 #include classanimal
5、 { public: animal(intheight,intweight) { cout<<"animalconstruct"<6、加一个冒号(:),然后加上父类的带参数的构造函数。这样,在子类的构造函数被调用时,系统就会去调用父类的带参数的构造函数去构造对象。这种初始化方式,还常用来对类中的常量(const)成员进行初始化,如下面的代码所示: classpoint { public: point():x(0),y(0) private: constintx; constinty; };当然,类中普通的成员变量也可以采取此种方式进行初始化,然而,这就没有必要了。
6、加一个冒号(:),然后加上父类的带参数的构造函数。这样,在子类的构造函数被调用时,系统就会去调用父类的带参数的构造函数去构造对象。这种初始化方式,还常用来对类中的常量(const)成员进行初始化,如下面的代码所示: classpoint { public: point():x(0),y(0) private: constintx; constinty; };当然,类中普通的成员变量也可以采取此种方式进行初始化,然而,这就没有必要了。
此文档下载收益归作者所有