设计一个矩形类 CRectangle (由两个文件. h 和. cpp 组成),数据成员: m _ nLength (私有)、 m _ nWidth (私有)和 m _ strColor (公有)。成员函数: SetLengthWidth 、 GetLength 、 GetWidth 、 GetArea 、 ShowInfo 。并设计一个主函数来测试编写的类:创建对象→利用函数设置长宽,直接设置颜色→输出信息和面积→长宽扩大2倍→输出信息。C++
时间: 2023-11-22 13:55:37 浏览: 117
C++ 矩形类 (包括数据成员和函数成员)
5星 · 资源好评率100%
以下是 CRectangle 类的头文件(CRectangle.h):
```cpp
#ifndef CRECTANGLE_H
#define CRECTANGLE_H
#include <string>
class CRectangle {
public:
void SetLengthWidth(int length, int width);
int GetLength() const;
int GetWidth() const;
int GetArea() const;
void ShowInfo() const;
std::string m_strColor;
private:
int m_nLength;
int m_nWidth;
};
#endif // CRECTANGLE_H
```
以下是 CRectangle 类的实现文件(CRectangle.cpp):
```cpp
#include "CRectangle.h"
#include <iostream>
void CRectangle::SetLengthWidth(int length, int width) {
m_nLength = length;
m_nWidth = width;
}
int CRectangle::GetLength() const {
return m_nLength;
}
int CRectangle::GetWidth() const {
return m_nWidth;
}
int CRectangle::GetArea() const {
return m_nLength * m_nWidth;
}
void CRectangle::ShowInfo() const {
std::cout << "Length: " << m_nLength << std::endl;
std::cout << "Width: " << m_nWidth << std::endl;
std::cout << "Color: " << m_strColor << std::endl;
std::cout << "Area: " << GetArea() << std::endl;
}
```
以下是主函数(main.cpp):
```cpp
#include "CRectangle.h"
#include <iostream>
int main() {
CRectangle rect;
rect.SetLengthWidth(5, 10);
rect.m_strColor = "red";
rect.ShowInfo();
rect.SetLengthWidth(rect.GetLength() * 2, rect.GetWidth() * 2);
std::cout << "After doubling length and width:" << std::endl;
rect.ShowInfo();
return 0;
}
```
运行结果:
```
Length: 5
Width: 10
Color: red
Area: 50
After doubling length and width:
Length: 10
Width: 20
Color: red
Area: 200
```
阅读全文