窗体应用程序定义一个描述矩形的类Rectangle,包括: 数据成员有宽(width)和长(length); 使用带参数的构造函数,实现宽和长的初始化。 计算矩形周长的方法Circle; 计算矩形面积的方法Area; 改变矩形大小的方法 Changesize(intw,int l); 创建string类型的索引,用“宽”和“长”分别作为 索引值,对应类中的成员变量 width和length.
时间: 2023-12-10 20:38:38 浏览: 88
以下是实现上述功能的C++代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Rectangle {
private:
int width;
int length;
public:
// 带参数的构造函数
Rectangle(int w, int l) {
width = w;
length = l;
}
// 计算矩形周长
int Circle() {
return 2 * (width + length);
}
// 计算矩形面积
int Area() {
return width * length;
}
// 改变矩形大小
void Changesize(int w, int l) {
width = w;
length = l;
}
// 创建索引
int& operator[](const string& index) {
if (index == "宽") {
return width;
} else if (index == "长") {
return length;
} else {
throw invalid_argument("Invalid index");
}
}
};
int main() {
Rectangle rect(5, 10);
cout << "矩形周长:" << rect.Circle() << endl;
cout << "矩形面积:" << rect.Area() << endl;
// 改变矩形大小
rect.Changesize(7, 12);
cout << "修改后的矩形周长:" << rect.Circle() << endl;
cout << "修改后的矩形面积:" << rect.Area() << endl;
// 通过索引改变矩形的宽和长
rect["宽"] = 8;
rect["长"] = 15;
cout << "通过索引修改后的矩形周长:" << rect.Circle() << endl;
cout << "通过索引修改后的矩形面积:" << rect.Area() << endl;
return 0;
}
```
输出结果:
```
矩形周长:30
矩形面积:50
修改后的矩形周长:38
修改后的矩形面积:84
通过索引修改后的矩形周长:46
通过索引修改后的矩形面积:120
```
在上述代码中,我们定义了一个名为`Rectangle`的类,并包含了宽和长两个数据成员。在构造函数中,我们通过传入参数初始化了这两个成员变量。接着,我们实现了计算矩形周长和面积的两个方法,以及改变矩形大小的方法。
最后,我们重载了`[]`运算符,创建了一个字符串类型的索引,用“宽”和“长”分别作为索引值,对应类中的成员变量 width和length。这样,我们就可以通过索引来直接修改矩形的宽和长了。
阅读全文