、声明一个学生类Student,设计私有数据成员: 年龄 age; 姓名 name;静态数据成员:学生人数 count; 定义4个公有成员函数:参数带默认值(0, “no”)的构造函数,改变学生姓名的函数setName,获取数据成员函数get
时间: 2024-05-05 09:20:36 浏览: 129
c++面向对象设计语言
以下是你要求的代码:
```cpp
class Student {
private:
int age;
string name;
static int count;
public:
Student(int age = 0, string name = "no") {
this->age = age;
this->name = name;
count++;
}
void setName(string name) {
this->name = name;
}
int getAge() {
return age;
}
string getName() {
return name;
}
static int getCount() {
return count;
}
};
int Student::count = 0; // 静态数据成员需要在类外进行初始化
int main() {
Student s1(18, "Tom");
Student s2(19, "Alice");
cout << "Total number of students: " << Student::getCount() << endl; // 输出:Total number of students: 2
s1.setName("Jerry");
cout << "Student 1 name: " << s1.getName() << endl; // 输出:Student 1 name: Jerry
return 0;
}
```
这里定义了一个学生类`Student`,它包含了私有数据成员`age`和`name`,以及静态数据成员`count`。在构造函数中,初始化了年龄和姓名,并且每次创建对象时,静态数据成员`count`会自增1。`setName`函数可以改变学生的姓名,`getAge`和`getName`函数可以分别获取学生的年龄和姓名。`getCount`函数是一个静态成员函数,可以获取学生的总人数。
在`main`函数中,创建了两个学生对象`s1`和`s2`,并且通过`Student::getCount()`函数获取了学生的总人数。然后,通过`s1.setName("Jerry")`函数将`s1`的姓名改为了"Jerry",并且通过`s1.getName()`函数获取了`s1`的姓名。
阅读全文