梁兴珍 java_Java零基础入门

学生(ID-924616):

老师,这是上课时的一段代码

#include 

using namespace std;

//   品种

enum BREED {GOLDEN, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB};

class A

{

};

class Employee

{

//可以写很多代码,几百行,几千行: 都是类的成员

private:

//

public:

//

};

class Manager : public Employee, public A

{

//继承了基类的私有成员,但是不能用!

};

class Animal

{

public:

Animal():itsAge(2),itsWeight(5){}

~Animal(){}

int GetAge() const { return itsAge; }

void SetAge(int age) { itsAge = age; }

int GetWeight() const { return itsWeight; }

void SetWeight(int weight) { itsWeight = weight; }

void Speak() const { cout <

void Sleep() const { cout <

protected:

int itsAge;

int itsWeight;

};

class Dog : public Animal

{

public:

Dog():itsBreed(GOLDEN){}

~Dog(){}

BREED GetBreed() const { return itsBreed; }

void SetBreed(BREED breed) { itsBreed = breed; }

void WagTail() const { cout <

void BegForFood() const { cout <

protected:

BREED itsBreed;

};

int main()

{

cout <

Dog a;

a.Speak();

a.WagTail();

cout <

return 0;

}

输出的狗a的年龄是2,是从Animal():itsAge(2),itsWeight(5){}这里得到的;

可是这个是Animal的构造函数的初始化列表,继承不是不能继承构造函数和析构函数吗??这里是怎么回事??

help i cheated on my boyfriend i dreamed i cheated on my boyfriend how to cheat on boyfriend

吴老师:

C++会自动在构造函数里调用父类的构造函数

int main()

{

cout <

Dog a; // 

//              Dog()构造函数会自动调用父类的构造函数Animal(),

//              Animal():itsAge(2),itsWeight(5),这里年龄被初始为2

//  要创建小子,必须要先创建老子,因为小子继承了老子,没有老子也就没有小子

//  C++会自动在构造函数里调用父类的构造函数

a.Speak();

a.WagTail();

cout <

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值