定义一个矩形类,公有成员函数用于计算矩形的面积和周长。在主函数中输入矩形的宽和 高,通过调用矩形类的成员函数来计算矩形的面积和周长。思考:如果类中成员变量矩形宽 和矩形高定义为公有的或私有的,在编程时各自怎样实现。
时间: 2024-10-08 20:03:55 浏览: 60
在编程中,我们可以定义一个名为Rectangle的类来表示矩形,其中包含两个私有成员变量width和height,分别代表矩形的宽度和高度。作为私有变量,它们只能在类内部访问,外部无法直接修改,保证了数据的封装性。
为了提供对外部使用的接口,我们可以在Rectangle类中定义两个公有成员函数,如`getArea()`和`getPerimeter()`。`getArea()`函数用来计算矩形的面积(宽度乘以高度),`getPerimeter()`函数则计算矩形的周长(两倍的长度加上两倍的宽度)。
以下是这个类的一个简单实现:
```cpp
class Rectangle {
private:
double width;
double height;
public:
// 构造函数设置初始值
Rectangle(double w, double h) : width(w), height(h) {}
// 计算并返回面积
double getArea() const {
return width * height;
}
// 计算并返回周长
double getPerimeter() const {
return 2 * (width + height);
}
};
int main() {
// 输入矩形的宽和高
double length, width;
std::cout << "Enter the rectangle's width and height: ";
std::cin >> length >> width;
// 创建矩形对象,并计算面积和周长
Rectangle rectangle(length, width);
double area = rectangle.getArea();
double perimeter = rectangle.getPerimeter();
// 输出结果
std::cout << "The area is: " << area << std::endl;
std::cout << "The perimeter is: " << perimeter << std::endl;
return 0;
}
```
至于成员变量是公有还是私有的选择取决于设计需求。若需要外部能直接获取或改变尺寸,可以设为公有;如果希望保护数据,仅提供必要的操作,可以选择设为私有,并通过公共方法进行控制。在这个例子中,由于我们要计算面积和周长,所以将它们设为私有更合理。
阅读全文