21xrx.com
2024-12-27 16:35:10 Friday
登录
文章检索 我的文章 写文章
C++类的派生与继承编程例题
2023-06-22 05:16:54 深夜i     --     --
C++ 类的派生 继承 编程例题 面向对象编程

C++作为一种面向对象编程语言,类的派生与继承是其重要的特性之一。在实际的编程过程中,我们经常需要通过继承和派生来扩展已有类的功能或者创建新的类。下面针对C++类的派生与继承编程,我们来看一个例题。

问题描述:

假设有一个Person类,它包含姓名和年龄两个属性,并且拥有输出信息的方法。现在需创建一个Teacher类,它是一个Person的派生类,在Person的基础上新增一个工号属性和输出信息的方法,输出的信息包括工号和其他基本信息。

解决方案:

首先,我们需要在代码中定义Person类,如下:


class Person {

 protected:

  string name;

  int age;

 public:

  Person(string n, int a);

  void display();

};

Person::Person(string n, int a)

 name = n;

 age = a;

void Person::display()

 cout << "姓名:" << name << endl;

 cout << "年龄:" << age << endl;

接下来,我们需要定义Teacher类,它继承自Person类,并添加工号的属性和方法,如下:


class Teacher : public Person {

 protected:

  string teaNo;

 public:

  Teacher(string n, int a, string t);

  void display();

};

Teacher::Teacher(string n, int a, string t) : Person(n, a)

 teaNo = t;

void Teacher::display() {

 Person::display();

 cout << "工号:" << teaNo << endl;

}

在Teacher类中,我们使用了“public Person”来表示Teacher类继承自Person类,这样Teacher类就可以通过继承Person类的属性和方法。而Teacher类中的方法display()覆盖了Person类的同名方法,也就是说在调用Teacher类的display()方法时,会调用Teacher类的方法而非Person类的方法。

最后,我们通过创建一个Teacher类的实例来测试代码的正常性:


int main() {

 Teacher tea("张三", 35, "1001");

 tea.display();

 return 0;

}

输出结果如下:


姓名:张三

年龄:35

工号:1001

这样,我们就完成了C++类的派生与继承编程例题的编写。在实际的编程过程中,我们需要注意正确地使用类的继承和派生,努力编写高质量、易读易懂的代码。

  
  

评论区

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