用c++定义一个学生类,有如下基本成员。(1)私有数据成员:年龄intage; 姓名 string name; (2)公有静态数据成员:学生人数static int count; 公有成员函数: 构造函数, 带参数的构造函数Student(int m,string n);
时间: 2024-12-10 17:42:19 浏览: 32
在C++中,我们可以定义一个名为`Student`的类来表示学生,包括私有数据成员年龄(age)和姓名(name),以及公有静态数据成员学生人数(count)。同时,我们会提供一个带参数的构造函数以便初始化学生的年龄和姓名。以下是这个类的定义:
```cpp
#include <iostream>
#include <string>
class Student {
private:
int age;
std::string name;
// 公有静态数据成员: 学生人数
static int studentCount;
public:
// 带参数的构造函数
explicit Student(int m, std::string n) : age(m), name(n) {
// 初始化学生人数
++studentCount;
}
// 获取年龄和姓名的公有成员函数
int getAge() const { return age; }
std::string getName() const { return name; }
// 显示学生信息的公有成员函数
void displayInfo() const {
std::cout << "学生姓名: " << name << ", 年龄: " << age << std::endl;
}
// 类似于析构函数,但在此处不需要显式定义,因为静态变量会自动管理
// ~Student() {}
// 静态成员函数获取当前学生总数
friend inline int getCount() { return Student::studentCount; }
private:
// 非复制构造函数和赋值运算符为了保护私有成员,防止意外修改
Student(const Student&) = delete;
Student& operator=(const Student&) = delete;
};
// 初始化静态成员变量
int Student::studentCount = 0;
int main() {
Student student1(20, "张三");
Student student2(22, "李四");
std::cout << "学生总数: " << Student::getCount() << std::endl;
student1.displayInfo();
student2.displayInfo();
return 0;
}
阅读全文