C++ 继承学习笔记

什么是继承?

继承是一种面向对象编程中的重要概念,它允许派生类(子类)继承基类(父类)的属性和方法。在C++中,可以使用关键字classstruct定义一个类(可以包括变量、函数等成员),同时使用关键字publicprivateprotected控制这些成员的可见性。

继承关系分为三种:公共继承、私有继承和保护继承。公共继承意味着派生类可以访问基类的公共成员,私有继承意味着派生类不能访问基类的任何成员,保护继承意味着派生类可以访问基类的保护成员。

如何使用继承?

使用继承的语法为:

c++Copy Code
class DerivedClass : public BaseClass { //... };

其中,DerivedClass是派生类的名称,BaseClass是基类的名称,public表示继承方式为公共继承。

通过继承,派生类会自动获得基类的成员变量和方法,可以直接访问和调用。此外,派生类还可以覆盖(override)基类的方法(前提是基类方法为虚函数)。

实例

下面是一个使用继承的实例:

c++Copy Code
#include <iostream> using namespace std; class Parent { public: void publicMethod() { cout << "This is a public method." << endl; } private: void privateMethod() { cout << "This is a private method." << endl; } protected: void protectedMethod() { cout << "This is a protected method." << endl; } }; class Child : public Parent { public: void test() { publicMethod(); // 可以访问基类的公共成员 //privateMethod(); // 不能访问基类的私有成员 protectedMethod(); // 可以访问基类的保护成员 } }; int main() { Child c; c.test(); return 0; }

输出结果为:

Copy Code
This is a public method. This is a protected method.

从上面的例子可以看出,派生类Child可以访问基类Parent的公共和保护成员,但不能访问基类的私有成员。