holyya.com
2025-09-05 05:58:57 Friday
登录
文章检索 我的文章 写文章
C++派生: 子类继承父类的实现方式及相关概念
2023-07-04 22:05:45 深夜i     --     --
C++ 派生 子类继承 父类实现 相关概念

在C++中,派生是一种基于现有类创建新类的机制。派生类有权访问其基类中的公共和保护成员,并且可以根据需要添加新成员。这种继承类的方式在C++中被称为“子类继承父类”。

派生类的定义方式与基类相似,使用关键字“class”或“struct”定义。但是,定义时需要在类名后面加上一个冒号,并指定要继承的基类。语法如下:


class DerivedClass : AccessSpecifier BaseClass

  // Derived Class body

;

其中,AccessSpecifier是继承的访问权限。C++支持三种访问权限:

1. public: 表示继承后,基类的公共成员在派生类中仍然是公共的。

2. protected: 表示继承后,基类的公共和保护成员在派生类中都变成保护的。

3. private: 表示继承后,基类的全部成员在派生类中都变成私有的。

派生类可以从多个基类继承,这被称为多重继承。语法如下:


class DerivedClass : AccessSpecifier BaseClass1, AccessSpecifier BaseClass2, ...

  // Derived Class body

;

派生类中的成员可以是数据成员、成员函数或其他类型的成员。如果派生类定义了与基类相同的成员,则称为隐藏基类成员。可以使用作用域解析运算符(::)来访问基类中被隐藏的成员。例如:


class BaseClass

{

public:

  void foo() { cout << "BaseClass::foo()"; }

};

class DerivedClass : public BaseClass

{

public:

  void foo() { cout << "DerivedClass::foo()"; }

};

DerivedClass d;

d.foo();  // 输出DerivedClass::foo()

d.BaseClass::foo(); // 输出BaseClass::foo()

这里,DerivedClass中的foo()函数隐藏了BaseClass中的foo()函数。但通过作用域解析运算符可以访问到被隐藏的foo()函数。

继承是C++中一种非常重要和基础的概念。理解如何使用继承并派生出新的类,是成为一名优秀程序员的必备技能之一。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复