一、前言
继承是c++语言一个重要的机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类。
二、继承解释
继承是类的重要特性。A类继承B类,我称B类为“基类”,A为“子类”。A类继承了B类之后,A类就具有了B类的部分成员,具体得到了那些成员,这得由两个方面决定:
- 继承方式
- 基类成员的访问权限
三、三种继承方式
- **公有继承方式(public)
#include<iostream>
#include<string>
using namespace std;
class Student
{
public :
Student(string s, int g,int a)
{
cout << "Constuct Student" << endl;
name = s;
grade = g;
age = a;
}
void print()
{
cout << "Student:" << endl;
cout << "name=" << name << endl;
cout << "grade=" << grade<<endl;
cout << "age=" << age << endl;
}
protected:
string name;
int grade;
private:
int age;
};
class GraduateStudent :public Student //继承方式i
{
public:
GraduateStudent(string s, int g, int a) :Student(s, g, a) //调用基类的构造函数,构造基类
{
cout << "Constuct GraduateStudent" << endl;
}
/*
公有继承方式,会把基类的公有成员(变量和函数)继承到子类公有成员,保护成员
变成基类的保护成员,但是私有成员子类也一样不可以访问
*/
void print1()
{
cout << "GraduateStudent:" << endl;
cout << "name= " << name << endl;
cout << "grade= " << grade << endl;
}
};
void main()
{
GraduateStudent g("Ouyang", 95, 21);
g.print(); //子类可以直接访问基类公共成员成员
g.print1();
system("pause");
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38