C++--继承与模板

一:继承与派生类
(一)继承
1.继承是一个进程,通过继承,一个对象可以获得另一个对象的属性,也就是说,一个对象可以继承属性的集合,并可向其中加入属于自己的一些特征。
2.继承允许一个对象支持多层分类的概念。
(二)派生类
1.类继承可以从一个类即基类中继承该基类的成员,并增加新的成员;
例:
class A//定义基类A
{int i;
public:
void f1(int a);
int f2();
};

class B:public A//根据基类A定义派生类B
{int j;
public:
void g1(int a);
int g2();
};

注:基类A的所有公有成员也是派生类的公有成员,但基类A的所有私有成员仍属于A类,不被派生类继承;
2.一个类可以有直接基类和间接基类;

二:单继承
从一个基类派生的继承称为单继承,即派生类只有一个直接基类;
单继承声明语句的常用形式为:
class 派生类名:访问控制关键字 基类名
{数据成员和成员函数声明
};

三:访问控制关键字
若访问控制关键字为public,则称派生类从基类公有继承,也称公有派生;若访问控制关键字为private,则称派生类从基类私有继承,也称私有派生;
1.公有继承
公有继承不改变访问级别,派生类的对象可以直接使用基类所有的公有方法,除非这些方法在派生类中又重新定义;注意派生类的成员不能直接访问基类中的私有属性,基类的保护成员在派生类中仍是保护成员;
2.私有继承
a.在私有继承情况下,基类的所有成员都变成派生类的私有成员,注意积累的私有成员被继承后,派生类仍不能访问它,这说明不能通过派生类的对象访问基类的任何成员;
b.私有继承表明派生类对象不能直接访问基类的公有成员,派生类的函数可以访问基类的公有成员;
3.保护成员
有时希望派生类能够访问基类的成员,但又不想把基类的这些成员声明为公有,最好的方法是在基类的定义中使用保护访问控制关键字protected
(1)在定义类时,使用关键字protected声明类的成员函数为保护成员:
class A
{protected:
int a;
};
注:a是保护的成员,保护成员具有私有成员和公有成员的双重角色。
(2)在基类保护部分定义的任何成员在派生类中都可以看做是公有成员,而在程序的其他部分是私有的,即基类的保护成员在派生类中是公有成员,在派生类之外是私有成员;

四:多继承与继承链
1.多继承
(1)从多个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值