从0学习C++ (九) 构造函数

#include <iostream>;
using namespace std;


/*
类继承中的构造函数
当Animal的构造函数变为Animal(int height,int weight)时,系统并不会为Animal生成默认构造函数。
这个时候 Fish类的构造函数要变为:Fish(): Animal(100,200) --》其中的100 200为传入的参数。
Fish类可以在构造的时候为常量 a 赋值。 Fish(): Animal(100,200),a(1) 其中1是给常量赋的值
~Animal(){} 析构函数。 释放对象。
*/
class Animal
{
public:
/*Animal()
{
cout << "Animal construct" << endl;
}*/
Animal(int height,int weight)
{
cout << "Animal construct" << endl;
}

~Animal()
{
cout << "Animal deconstruct" << endl;
}

void eat()
{
cout << "Animal eat" << endl;
}

void sleep()
{
cout << "Animal sleep" << endl;
}

//虚函数
virtual void breathe()
{
cout << "Animal breathe" << endl;
}


};


class Fish : public Animal
{
private :
const int a;

public :
//在构造函数中给常量赋值。
Fish(): Animal(100,200),a(1)
{
cout << "Fish construct" << endl;
}

~Fish()
{
cout << "Fish deconstruct" << endl;
}

void breathe()
{
cout << "fish bubble" << endl;
}


};




int main(){

Fish fish;

return 0 ;
}


运行截图:
[img]
[img]http://dl2.iteye.com/upload/attachment/0092/9027/da291f84-1bbc-31f3-9f79-31ae392c4d3a.png[/img]
[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值