标题:关于父类没有缺省的构造函数时,子类如何建立构造函数
取消只看楼主
q42946456
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-1
结帖率:0
已结贴  问题点数:10 回复次数:0 
关于父类没有缺省的构造函数时,子类如何建立构造函数
我们都知道,在类定义了带参数的构造函数后,便不再提供默认构造函数,但是子类的构造函数需要父类的缺省构造函数才能定义,否则编译时将会出错,这时有两种解决方法,一种是利用构造函数重载,重载一个缺省的构造函数,另一种方法如下;
例:
class Tree   //构造一个树类作为父类
{
private:
    int height;
    int circu;
public:
    Tree(int height,int circu) //传递树的高度和周长
    {
        this -> height = height;   //使用this指针来传递数据到私有变量
        this -> circu = circu;
    }
   
    void TreeLife()   //树类的一个方法
    {
        //代码
    }
};

class YangTree :public Tree  //定义一个杨树类,作为子类,使用public继承
{
public:
    YangTree(): Tree(20, 1)    //此处为第二种方法的核心,在构造子类时,通过这种语法方式给父类的带参构造函数传递参数,使其初始化,从而初始化子类
    {
        //代码
    }
};
初学C++,第一次发帖,勿喷
搜索更多相关主题的帖子: private public 如何 
2014-05-25 12:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432018-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.733563 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved