目录
继承概念及其定义
概念
C++继承是一种面向对象编程的特性,允许一个类(称为子类或派生类)继承另一个类(称为基类或父类)的属性和方法。通过继承,子类可以重用和扩展基类的代码,实现代码复用和层次化设计。
例如:
对于两个类 Studen 和 Teacher 它们都有相同的成员变量,但是又各自又不同的成员变量,把它们设计到两个类里面就是冗余的,但是它们各自的不同的成员变量是“学号”,“职称”,它们各自的功能也不同,是“学习”与“授课”
class Student
{
public:
void study(){
//..
}
protected:
string _name = "A";//重复的
string _student_id = "1231312312";//不重复的
};
class Teacher
{
public:
void teach() {
//..
}
protected:
string _name = "A";//重复的
string _teacher_id = "1231312312";//不重复的
};
为了解决这问题,我们使用它俩继承People的行为
class People
{
public:
void A()
{
}
protected:
string _name;
};
class Student :public People
{
public:
void study()
{
}
private:
string _student_id;
};
class Teacher :public People
{
public:
void teach()
{
}
private:
string _teacher_id;
};
定义
C++继承是指一个类(子类)能够获取另一个类(基类)的属性和方法,从而实现代码复用和扩展的一种机制。
// 派生类名 继承方式 基类名
class Student : public People
{
//扩展内容
public:
void study()
{
}
private:
string _student_id;
};
继承方式
public继承 protected继承 private继承
虽然关键字和访问限定符 相同 但是 不同 于访问限定符
它们遵循这样的规则进行继承
| 基类类成员//继承方式 | public | protected | private |
| public | public | protected | private |
| protected | protected | protected | private |
| private | 不可见 | 不可见 | 不可见 |
总结:基类类成员是private继承后全不可见
剩下的会按照继承方式 public不变 其它的相同与继承方式
注意
基类成员的private实际上是被继承了,只是无法在派生类中操作
基类中的“private”建议以protected的形式写
class的默认继承方式是priavre,struct的默认继承方式是public
public的使用更多
class People
{
public:
void C()
{
_C = 0;
}
int _A;
protected:
int _B;
priv

最低0.47元/天 解锁文章
1943

被折叠的 条评论
为什么被折叠?



