21xrx.com
2025-03-21 14:43:44 Friday
文章检索 我的文章 写文章
C++中的继承是什么?可以举个例子吗?
2023-06-24 05:40:16 深夜i     13     0
C++ 继承 例子

C++中的继承是面向对象编程中的一个重要概念。继承允许程序员基于现有类创建新的类,新的类可以重复使用现有类的属性和方法,从而节省代码量并提高代码的可重用性和可维护性。

在C++中,继承通常是通过定义一个派生类来实现的,该派生类从一个现有的基类(也称为父类)继承属性和方法,同时还可以添加自己的属性和方法。派生类可以是公共的、私有的或受保护的,这决定了它们对基类成员的访问权限。

让我们来看一个简单的例子,假设我们有一个基类Animal和一个派生类Dog。Animal类具有一个名为“name”的属性和一个名为“speak”的方法,它打印出“我是一只动物”字符串。派生类Dog从Animal类继承了这些属性和方法,并添加了一个新的方法“bark”,它打印出“汪汪!”字符串。

下面是基类Animal的定义:

class Animal {
 protected:
  std::string name;
 public:
  Animal(std::string name)
   this->name = name;
  
  void speak()
   std::cout << "我是一只动物" << std::endl;
  
};

下面是派生类Dog的定义:

class Dog : public Animal {
 public:
  Dog(std::string name) : Animal(name)
  
  void bark()
   std::cout << "汪汪!" << std::endl;
  
};

现在我们可以创建一个Animal对象和一个Dog对象,并使用它们的方法:

Animal animal("动物");
Dog dog("小狗");
std::cout << animal.name << ": ";
animal.speak();
std::cout << dog.name << ": ";
dog.speak();
dog.bark();

输出如下所示:

动物: 我是一只动物
小狗: 我是一只动物
小狗: 汪汪!

从输出中可以看出,Dog类继承了Animal类中的属性和方法,同时它还添加了一个新的方法bark。由于Dog类是从Animal类继承而来的,因此我们可以访问Animal类中的属性和方法。

继承是C++中重要的一个概念,它使得代码更加灵活和可重用。掌握继承的基本原理和语法,可以让程序员编写更好的面向对象程序。

  
  
下一篇: C++中的运算符

评论区