类的继承:
我们一直以来接触的函数在一定程度上完成了代码的复用,这里介绍面向对象的重要复用机制—继承
继承机制是面向对象程序设计使代码可以复用的重要手段,他允许我们在保持原有类特性的基础上进行扩展,增加功能。这样产生的类,称为派生类。继承呈现了面向对象程序的层次性,体现了从简单到复杂的认知过程
继承的简单使用:
class Person
{
public:
void Display()
{
cout << _name << "-" << _sex << "-" << _age << endl;
}
public:
const char* _name;
const char* _sex;
int _age;
};
class Student : public Person
{
public:
void BuyTicket()
{
cout << "买票半价" << endl;
}
};
void test()
{
Person p;
p._name = "鸟哥";
p._sex = "男";
p._age = 20;
p.Display();
Student s;
s._name = "鸟";
s._sex = "男";
s._age = 15;
s.Display();
s.BuyTicket();
}
继承后的效果:
继承的定义的格式:
继承的方式有三种:公有继承,私有继承,保护继承。三种继承关系下基类三种访问权限的成员在派生类中的访问权限如下:
基类成员/继承方式 | public继承 | protected继承 | privated继承 |
基类的public成员 | 派生类的public成员 | 派生类的protected成员 | 派生类的privated成员 |
基类的protected成员 | 派生类的protected成员 | 派生类的protected成员 | 派生类的privated成员 |
< |