C++入门学习笔记2:继承与派生
- Sunny
- 0
- Posted on
继承
继承是根据一个类来定义另一个类,使得创建和维护一个类变得容易,同时达到了重用代码的功能和提高执行效率的效果。
已有的类称为基类,新建的类称为派生类。
继承的代码格式为:
class <派生类名> : <继承方式> <基类名> {
<派生类类体>
};
基类和派生类
一个类可以派生自多个类,访问修饰符(access-specifier)是public
private
和protected
中的一个,默认为private
。
实例:
#include"pch.h"
#include <iostream>
using namespace std;
class Student {
public:
double Math;
double English;
double Computer;
};
class Graduates :public Student {
public:
double GPA() {
return((Math * 6 + English * 4 + Computer * 4.5) / (6 + 4 + 4.5));
}
};
int main() {
Graduates Graduates1;
//Student1成绩
Graduates1.Math = 90.0;
Graduates1.English = 92.0;
Graduates1.Computer = 90.0;
//Student1GPA
cout << "学生1的GPA为:" << Graduates1.GPA() << endl;
}
访问权限
访问权限 | public | protected | private |
---|---|---|---|
同一个类 | √ | √ | √ |
派生类 | √ | √ | × |
外部类 | √ | × | × |
派生类继承了基类除private
以外所有的成员,但下面的情况除外:
- 基类的构造函数、析构函数和拷贝构造函数;
- 基类的重载运算符;
- 基类的友元函数;
继承类型
三种,用访问修饰符(access-specifier)来指定。
- 公有继承(
public
):基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。 - 保护继承(
protected
):基类的公有和保护成员将成为派生类的保护成员。 - 私有继承(
private
):基类的公有和保护成员将成为派生类的私有成员。
多继承
一个子类允许有多个父类,格式为:
class <派生类名> : <继承方式1> <基类名1> , <继承方式2> <基类名2> , ... {
<派生类类体>
};