2.定义Teacher类,其数据包括:名字,年龄;成员函数包括构造函数,析构函数,输出信息函数;要求:(1)为Teacher类添加一个静态数据成员,用于统计定义的Teacher类对象个数;(2)增加静态成员函数,输出静态数据成员信息;(3)主函数定义对象,验证以上功能。
时间: 2024-05-04 08:18:51 浏览: 100
以下是Teacher类的定义和实现:
```c++
#include <iostream>
using namespace std;
class Teacher {
private:
string name;
int age;
static int count; // 静态数据成员
public:
Teacher(string n, int a) : name(n), age(a) {
count++; // 统计对象个数
}
~Teacher() {
count--; // 对象销毁时减少对象个数
}
void print() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
static void printCount() { // 静态成员函数
cout << "Total number of Teacher objects: " << count << endl;
}
};
int Teacher::count = 0; // 静态数据成员初始化
int main() {
Teacher t1("Tom", 35);
Teacher t2("Mary", 28);
t1.print();
t2.print();
Teacher::printCount(); // 调用静态成员函数
Teacher t3("David", 42);
t3.print();
Teacher::printCount();
return 0;
}
```
输出结果为:
```
Name: Tom
Age: 35
Name: Mary
Age: 28
Total number of Teacher objects: 2
Name: David
Age: 42
Total number of Teacher objects: 3
```
可以看到,Teacher类中的静态数据成员和静态成员函数的功能都已经成功实现,并且对象个数可以正确地统计。