c++中声明类student 并创建对象stu1 stu2 定义school用const修饰 在定义时直接初始化 修改stu1 sty2的school值
时间: 2024-12-14 08:15:58 浏览: 11
在C++中,你可以这样声明一个名为"Student"的类,并创建两个对象"stu1"和"stu2"。假设School是一个有常量成员的类,我们可以这样操作:
```cpp
class School {
public:
const std::string name; // 声明一个常量字符串类型的学校名
// 构造函数
School(const std::string& schoolName) : name(schoolName) {}
};
// 声明并创建 Student 类的对象
class Student {
private:
School school; // 学生关联的学校
public:
// 默认构造函数
Student() {}
// 使用const引用接收school值
void setSchool(const School& s) {
school = s;
}
};
int main() {
// 创建School对象并初始化
const std::string school1_name = "No.1 High School";
School school1(school1_name);
// 创建Student对象并设置初始学校
Student stu1;
stu1.setSchool(school1); // 直接初始化stu1的school属性
// 创建另一个School对象
const std::string school2_name = "No.2 University";
School school2(school2_name);
// 现在想修改stu1的school值,需要先复制再修改
// 因为school是常量,不能直接赋值给另一个对象
stu1.setSchool(school2); // 需要通过setSchool方法间接修改
// 对于stu2,同样处理
Student stu2;
stu2.setSchool(school2);
return 0;
}
```
阅读全文