目录
1.继承的概念及定义
1.1继承的概念
继承
(inheritance)
机制是面向对象程序设计
使代码可以复用
的最重要的手段,它允许程序员在
保持原有类特
性的基础上进行扩展
,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构
,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。
1.2继承基类成员访问方式的变化
总结:
1.
基类
private
成员在派生类中无论以什么方式继承都是不可见的。这里的
不可见是指基类的私有成员还是
被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它
。
2.
使用关键字
class
时默认的继承方式是
private
,使用
struct
时默认的继承方式是
public
,
不过最好显示的
写出继承方式。
举例:
class Person
{
public:
void Print()
{
cout << _name << endl;
}
protected:
string _name; // 姓名
private:
int _age; // 年龄
};
class Student : public Person//
{
public:
Student()
{
_name = "李四";
_stunum = 11;
/*_age = 17;*/ //不可访问
}
void print()
{
cout << _name << " " << _stunum << endl;
}
protected:
int _stunum; // 学号
};
int main()
{
Person p;
Student s;
s.Print();
s.print();
return 0;
}
结果:
李四
李四 11
2.基类和派生类对象赋值转换
派生类对象