21xrx.com
2024-11-22 07:05:47 Friday
登录
文章检索 我的文章 写文章
C++中的class类如何继承其他类?
2023-06-30 03:10:54 深夜i     --     --
C++ class 继承 其他类

在C++中,类是一种自定义的数据类型,可以通过类来定义自己所需的数据和方法。类的继承是一个非常重要的概念,它允许我们在一个类中定义另一个类,并允许派生类继承其成员属性和方法。所以在C++中,我们可以通过继承其他类来创建更加复杂的类。

在C++中,继承是通过使用关键字“extends”来实现的。我们可以通过将父类的名称作为参数传递给类的定义来实现继承。例如,假设我们有一个名为“Animal”的类,我们可以通过以下方式创建一个名为“Dog”的子类:


class Dog extends Animal

  // class members

;

这里,“Dog”类继承自“Animal”类。这意味着“Dog”类不仅具有其自身的成员属性和方法,还可以使用“Animal”类中定义的成员属性和方法。

当一个派生类继承一个基类时,它可以访问基类公共和保护成员。但是,在派生类中,私有成员是不可访问的。例如:


#include <iostream>

using namespace std;

// Base class

class Animal {

  public:

   void eat() {

     cout << "Eating...\n";

   }

  protected:

   void sleep() {

     cout << "Sleeping...\n";

   }

  private:

   void roam() {

     cout << "Roaming...\n";

   }

};

// Derived class

class Dog : public Animal {

  public:

   void bark() {

     cout << "Barking...\n";

   }

};

int main() {

  Dog dog1;

  dog1.eat(); // accessible

  dog1.sleep(); // accessible

  dog1.roam(); // not accessible

  dog1.bark(); // accessible

  return 0;

}

在上面的代码中,我们创建了两个类:Animal和Dog,Dog类继承自Animal类。在main()函数中,我们创建了一个Dog对象,并对它进行一些操作。由于Dog是从Animal类派生而来的,我们可以调用Animal类的公共和保护成员方法,例如eat() 和sleep()方法。但是,由于roam()是一个私有方法,它不能在Dog类中使用。

继承是一种非常强大的面向对象编程概念,在C++中实现它非常简单。通过继承,我们可以将多个类组合成更复杂的类,并允许派生类使用继承的类的所有成员属性和方法。这使得我们的代码更加模块化、可重用和易于维护。

  
  

评论区

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