用定义一个教室类 classroom,要求所有数据成员定义成 private,理解类的定义和 this 的使 用。(可选) (1) 定义教室的属性:教学楼名称 building、教室号 number; (2) 定义有参的构造函数,给出参数的默认值,并使用初始化列表初始化; (3) 定义教室类的功能:设置和获取教学楼名称、设置和获取教室号; (4) 在 main 函数,继续声明两个 classroom 的变量,使用所定义的函数。
时间: 2023-12-03 15:47:06 浏览: 180
以下是一个示例代码,实现了教室类的定义和功能:
```cpp
#include<iostream>
#include<string>
using namespace std;
class classroom {
private:
string building; // 教学楼名称
string number; // 教室号
public:
// 有参构造函数,给出参数默认值并使用初始化列表初始化
classroom(string b = "未知教学楼", string n = "未知教室") : building(b), number(n) {}
// 设置教学楼名称
void setBuilding(string b) {
this->building = b;
}
// 获取教学楼名称
string getBuilding() {
return this->building;
}
// 设置教室号
void setNumber(string n) {
this->number = n;
}
// 获取教室号
string getNumber() {
return this->number;
}
};
int main() {
classroom c1("教1楼", "101"); // 声明第一个教室变量并初始化
classroom c2; // 声明第二个教室变量
// 分别设置第二个教室的教学楼和教室号
c2.setBuilding("教2楼");
c2.setNumber("201");
// 输出两个教室的属性
cout << "第一个教室:" << c1.getBuilding() << "-" << c1.getNumber() << endl;
cout << "第二个教室:" << c2.getBuilding() << "-" << c2.getNumber() << endl;
return 0;
}
```
在 main 函数中,我们声明了两个 `classroom` 类型的变量 `c1` 和 `c2`。其中 `c1` 在声明时使用了有参构造函数来初始化其属性,而 `c2` 则使用默认构造函数来初始化其属性。接着,我们通过 `setBuilding` 和 `setNumber` 函数来设置第二个教室的教学楼和教室号,最后使用 `getBuilding` 和 `getNumber` 函数来获取两个教室的属性,并输出到屏幕上。
阅读全文