21xrx.com
2024-12-22 22:23:57 Sunday
登录
文章检索 我的文章 写文章
C++继承与派生的例题
2023-07-05 01:58:40 深夜i     --     --
C++ 继承 派生 例题 类型

C++继承与派生是面向对象程序设计中非常基础的概念,也是非常重要的内容之一。在C++程序中,我们可以利用继承与派生实现代码重用,提高程序效率。下面我们来看一个例题,了解在实际应用中C++继承与派生是如何被运用的。

假设我们需要定义一个动物类,包含动物的名称、年龄和体重等属性。现在,我们需要定义一个狗类并继承自动物类,同时添加狗类的特有属性和方法。我们可以这样定义动物类:


class Animal {

public:

  string name;

  int age;

  double weight;

  Animal(string n, int a, double w) : name(n), age(a), weight(w) {}

  void showInfo()

    cout << "name: " << name << endl;

    cout << "age: " << age << endl;

    cout << "weight: " << weight << endl;

  

};

然后,我们定义狗类,继承自动物类:


class Dog : public Animal {

public:

  string breed;

  Dog(string n, int a, double w, string br) : Animal(n, a, w), breed(br) {}

  void bark()

    cout << "woof woof!" << endl;

  

  void showInfo() {

    Animal::showInfo();

    cout << "breed: " << breed << endl;

  }

};

在以上代码中,我们在定义狗类时,使用了public关键字继承自动物类。同时,我们也添加了独有的属性breed和方法bark。在showInfo()方法中,我们使用了Animal::showInfo()来调用父类的showInfo()方法,并在其之后增加了breed属性的输出。

接下来,我们可以实例化一个狗对象,并调用其方法:


int main() {

  Dog myDog("Buddy", 3, 12.6, "Golden Retriever");

  myDog.showInfo();

  myDog.bark();

  return 0;

}

在以上代码中,我们创建了一个名为myDog的Dog对象,并输出其所有属性和调用其特有方法bark()。输出结果如下:


name: Buddy

age: 3

weight: 12.6

breed: Golden Retriever

woof woof!

以上是一个较基础的例子,但是在实际开发中,继承与派生的使用非常频繁。通过继承与派生的概念,我们可以提高代码的可重用性,也可以更加有效地组织程序的架构和逻辑,实现更加灵活高效的程序。

  
  

评论区

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