21xrx.com
2024-12-22 20:50:50 Sunday
登录
文章检索 我的文章 写文章
C++中的继承是什么?可以举个例子吗?
2023-06-24 05:40:16 深夜i     --     --
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++中的运算符

评论区

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