继承 (inherit )的使用与注意事项

重点提示:并不是父类构造函数先执行再到子类的构造函数执行,而是子类的析构函数先执行,在子类的析构函数里再调用父类的析构函数。


1. 继承其实就是在一个类的基础上扩展新的功能的类型。

#include <iostream>
using namespace std ;
class Animal {
private:
int age;
public:
void eat() {
age = 88;
cout << "animal eat" << endl;
};
};
// Animal 叫作 Human 的父类 , Human 是 Animal 的子类
// 继承是可以多层继承的, 基类是最底层的类。 子类的子类以下级别的类叫派生类 .
class Human : public Animal { // Human 继承了 Animal, 完全具有 Animal 类对象的功能
public:
void think() { // 扩展的功能
cout << "human think" << endl;
}
};
int main(void)
{
Human h;
h.eat();
h.think();
return 0;
}

注意:

1).继承时,父类的私有成员也是有继承过来的,只是子类不能直接访问父类的私有成员

2)一个对象 / 类型的大小,只算属性成员的大小,函数成员不算大小的。 同时也需注意它的祖先类的大小。
3)创建一个子类对象时,父类也需创建一个对象 , 子类对象是由父类对象与它自己的属性成员组合成的 . <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值