21xrx.com
2024-12-22 22:53:39 Sunday
登录
文章检索 我的文章 写文章
C++继承方法详解
2023-06-25 12:36:41 深夜i     --     --
C++ 继承 方法 详解 面向对象编程

C++是一种强大的面向对象编程语言,继承是面向对象编程中重要的概念之一。继承是指子类(派生类)从父类(基类)继承属性和方法的过程。在C++中,继承有三种方式:公有继承、保护继承和私有继承。

1. 公有继承

公有继承是最常用的继承方式,子类从父类继承的属性和方法在子类中可以使用public、protected和private三种访问控制符进行访问。当一个类公有继承另一个类时,它会继承基类的所有公有成员和保护成员。但是,它不能继承基类的私有成员。


// 父类

class MyBaseClass {

public:

  void publicFunc();  // 公有成员函数

protected:

  void protectedFunc();  // 保护成员函数

private:

  void privateFunc();  // 私有成员函数

};

// 子类

class MyDerivedClass : public MyBaseClass {

public:

  void derivedFunc() {

    publicFunc();   // 可以访问基类公有成员

    protectedFunc(); // 可以访问基类保护成员

    // privateFunc(); // 不能访问基类私有成员

  }

};

2. 保护继承

保护继承与公有继承类似,但是子类从父类继承的属性和方法在子类中只能使用protected和public两种访问控制符进行访问。当一个类保护继承另一个类时,它会继承基类的所有公有成员和保护成员。但是,它仍然不能继承基类的私有成员。


// 父类

class MyBaseClass {

public:

  void publicFunc();  // 公有成员函数

protected:

  void protectedFunc();  // 保护成员函数

private:

  void privateFunc();  // 私有成员函数

};

// 子类

class MyDerivedClass : protected MyBaseClass {

public:

  void derivedFunc() {

    publicFunc();   // 可以访问基类公有成员

    protectedFunc(); // 可以访问基类保护成员

    // privateFunc(); // 不能访问基类私有成员

  }

};

3. 私有继承

私有继承是将基类的所有成员都变成子类的私有成员,子类无法从基类继承出任何public或protected成员,只能使用基类的私有成员。当一个类私有继承另一个类时,它会继承基类的所有公有成员、保护成员和私有成员。


// 父类

class MyBaseClass {

public:

  void publicFunc();  // 公有成员函数

protected:

  void protectedFunc();  // 保护成员函数

private:

  void privateFunc();  // 私有成员函数

};

// 子类

class MyDerivedClass : private MyBaseClass {

public:

  void derivedFunc() {

    publicFunc();   // 不能访问基类公有成员

    protectedFunc(); // 不能访问基类保护成员

    // privateFunc(); // 可以访问基类私有成员

  }

};

总的来说,继承是面向对象编程中重要的概念之一。在C++中,公有继承、保护继承和私有继承是三种继承方式。在使用继承时,需要考虑到继承的访问控制问题及其对程序性能的影响。同时,需要注意基类成员函数的访问控制符及其在子类中的继承方式。

  
  

评论区

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