C++入门学习笔记2:继承与派生

继承

继承是根据一个类来定义另一个类,使得创建和维护一个类变得容易,同时达到了重用代码的功能和提高执行效率的效果。

已有的类称为基类,新建的类称为派生类

继承的代码格式为:

class <派生类名> : <继承方式> <基类名> {
<派生类类体>
};

基类和派生类

一个类可以派生自多个类,访问修饰符(access-specifier)是public privateprotected中的一个,默认为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;

}

访问权限

访问权限publicprotectedprivate
同一个类
派生类×
外部类××

派生类继承了基类除private以外所有的成员,但下面的情况除外:

  • 基类的构造函数、析构函数和拷贝构造函数;
  • 基类的重载运算符;
  • 基类的友元函数;

继承类型

三种,用访问修饰符(access-specifier)来指定。

  • 公有继承(public):基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问
  • 保护继承(protected):基类的公有保护成员将成为派生类的保护成员。
  • 私有继承(private):基类的公有保护成员将成为派生类的私有成员。

多继承

一个子类允许有多个父类,格式为:

class <派生类名> : <继承方式1> <基类名1> , <继承方式2> <基类名2> , ... {
<派生类类体>
};
Previous Post Next Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注