21xrx.com
2025-03-22 12:03:40 Saturday
文章检索 我的文章 写文章
C++类的派生与继承编程例题
2023-06-22 05:16:54 深夜i     17     0
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++类的派生与继承编程例题的编写。在实际的编程过程中,我们需要注意正确地使用类的继承和派生,努力编写高质量、易读易懂的代码。

  
  

评论区