子类调用父类带参数的构造函数.doc

上传人:re****.1 文档编号:559849894 上传时间:2023-09-03 格式:DOC 页数:3 大小:31.51KB
返回 下载 相关 举报
子类调用父类带参数的构造函数.doc_第1页
第1页 / 共3页
子类调用父类带参数的构造函数.doc_第2页
第2页 / 共3页
子类调用父类带参数的构造函数.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《子类调用父类带参数的构造函数.doc》由会员分享,可在线阅读,更多相关《子类调用父类带参数的构造函数.doc(3页珍藏版)》请在金锄头文库上搜索。

1、在子类中调用父类的带参数的构造函数下面我们修改一下animal类的构造函数,增加两个参数height和weight,在子类中调用父类的带参数的构造函数,分别表示动物的高度和重量,代码如例2-13所示,类中普通的成员变量也可以采取此种方式进行初始化,然而,例2-13#include class animalpubli下面我们修改一下animal类的构造函数,增加两个参数height和weight,分别表示动物的高度和重量。代码如下所示。#include class animalpublic: animal(int height, int weight) coutanimal constructe

2、ndl; animal() coutanimal destructendl; void eat() coutanimal eatendl; void sleep() coutanimal sleependl; void breathe() coutanimal breatheendl; ;class fish:public animalpublic: fish() coutfish constructendl; fish() coutfish destructendl; ;void main() fish fh;当我们编译这个程序时,就会出现如下错误:那么这个错误是如何出现的呢?当我们构造fi

3、sh类的对象fh时,它需要先构造animal类的对象,调用animal类的默认构造函数(即不带参数的构造函数),而在我们的程序中,animal类只有一个带参数的构造函数,在编译时,因找不到animal类的默认构造函数而出错。因此,在构造fish类的对象时(调用fish类的构造函数时),要想办法去调用animal类的带参数的构造函数,那么,我们如何在子类中向父类的构造函数传递参数呢?可以采用如例2-14所示的方式,在构造子类时,显式地去调用父类的带参数的构造函数。例2-14#include class animalpublic:animal(int height, int weight)cout

4、animal constructendl;class fish:public animalpublic:fish():animal(400,300)coutfish constructendl;void main()fish fh;注意程序中以粗体显示的代码。在fish类的构造函数后,加一个冒号(:),然后加上父类的带参数的构造函数。这样,在子类的构造函数被调用时,系统就会去调用父类的带参数的构造函数去构造对象。这种初始化方式,还常用来对类中的常量(const)成员进行初始化,如下面的代码所示:class pointpublic: point():x(0),y(0)private: const int x; const int y;当然,类中普通的成员变量也可以采取此种方式进行初始化,然而,这就没有必要了。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号