1.继承的概念及定义
1.1继承的概念
继承:允许程序员在保持原有类特性的基础上进行扩展,产生的新的类称为派生类,继承是类设计层次的复用,呈现了面向对象设计的层次结构。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
class person
{
public:
void print()
{
cout<<"name:"<<" "<<endl;
cout<<"age:"<<" "<<endl;
}
protected:
string name="peter";
int age=20;
};
class student:public person
{
protected:
int stunum;
};
class teacher:public person
{
protected:
int jobid;
};
int main()
{
teacher t1;
student s2;
t1.print();
s2.print();
return 0;
}
子类成员继承了父类的成员函数,继承后父类的成员都会变成子类的一部分。
1.2继承定义
定义格式:class test : public person 。test:派生类 public:继承方式 person:基类 (基类就相当于父亲类,派生类相当于子类)
继承方式-------public继承/protected继承/private继承 三种继承方式
访问限定符--------public访问/protected访问/private访问
private:0 不可访问 不可继承
protected:1 不可访问 可继承
public:2 可访问 可继承
派生类中继承来的元素是什么权限,取决于继承的方式和基类成员权限的较小值。
基类的private成员在派生类中不可访问。
基类的private成员在派生类中无论以什么方式继承都是不可见的,这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。
2.基类和派生类对象赋值转换
- 派生类对象可以赋值给基类的对象/基类的指针/基类的引用
- 基类对象不