C++程序设计 矩形Rectangle类,通过Rectangle类计算周长和面积。
功能要求:1.Rectangle类有两个成员,长:m_length、宽:m_width(初始化为1).2.类中具有的成员函数包括:1.无参的构造函数Rectangle()...
功能要求:
1.Rectangle类有两个成员,长:m_length、宽:m_width(初始化为1).
2.类中具有的成员函数包括:
1.无参的构造函数Rectangle()
2.有参的构造函数Rectangle(int length,int with)
3.Setwidth(int a) 设置矩形长的值。设置之前调用test验证长宽是否合法,如果不合法,则不进行修改,并提示错误信息。
4.Setlength(int b) 设置矩形宽的值。设置之前调用test验证长宽是否合法,如果不合法,则不进行修改,并提示错误信息。
5.Getwidth()查看当前矩形的长
6.Getlength()查看当前矩形的宽
7.test(int length,int with) 矩形长和宽的范围是[1…20],验证传进来的长宽是否合法
8.perimeter() 根据长宽计算矩形周长
9.ares()根据长宽计算矩形面积
3.在主函数main里面产生Rectangle类的对象,调用类的成员函数,实现矩形长宽的设置,查看,并计算矩形的周长和面积。 展开
1.Rectangle类有两个成员,长:m_length、宽:m_width(初始化为1).
2.类中具有的成员函数包括:
1.无参的构造函数Rectangle()
2.有参的构造函数Rectangle(int length,int with)
3.Setwidth(int a) 设置矩形长的值。设置之前调用test验证长宽是否合法,如果不合法,则不进行修改,并提示错误信息。
4.Setlength(int b) 设置矩形宽的值。设置之前调用test验证长宽是否合法,如果不合法,则不进行修改,并提示错误信息。
5.Getwidth()查看当前矩形的长
6.Getlength()查看当前矩形的宽
7.test(int length,int with) 矩形长和宽的范围是[1…20],验证传进来的长宽是否合法
8.perimeter() 根据长宽计算矩形周长
9.ares()根据长宽计算矩形面积
3.在主函数main里面产生Rectangle类的对象,调用类的成员函数,实现矩形长宽的设置,查看,并计算矩形的周长和面积。 展开
1个回答
展开全部
class Rectangle
{
public:
Rectangle()
:m_width(1),m_length(1)
{
}
Rectangle(int length,int width)
{
if (test(length,width)) {
m_length = length;
m_width = width;
} else {
m_length = 1;
m_width = 1;
}
}
~Rectangle(){}
void Setwidth(int a)
{
if (test(m_length,a)) {
m_width = a;
} else {
std::cerr << "width must be a value between 1 to 20" << std::endl;
}
}
void setlength(int b)
{
if (test(b,m_width)) {
m_length = b;
} else {
std::cerr << "length must be a value between 1 to 20" << std::endl;
}
}
int Getwidth() const
{
return m_width;
}
int Getlength() const
{
return m_length;
}
bool test(int length,int width)
{
return (length >= 1 && length <= 20 && width >= 1 && width <= 20);
}
int perimeter() const
{
return ((m_width + m_length ) << 1);
}
int ares() const
{
return m_width * m_length;
}
friend std::ostream & operator << (std::ostream &os,const Rectangle &rect)
{
os << "Rectangle [ width : " << rect.m_width
<< " length : " << rect.m_length << " perimeter : "
<< rect.perimeter() << " ares : " << rect.ares()
<< " ]" << std::endl;
return os;
}
private:
int m_width,m_length;
};
int main()
{
Rectangle rect;
rect.setlength(10);
rect.Setwidth(15);
std::cout << rect ;
return 0;
}
{
public:
Rectangle()
:m_width(1),m_length(1)
{
}
Rectangle(int length,int width)
{
if (test(length,width)) {
m_length = length;
m_width = width;
} else {
m_length = 1;
m_width = 1;
}
}
~Rectangle(){}
void Setwidth(int a)
{
if (test(m_length,a)) {
m_width = a;
} else {
std::cerr << "width must be a value between 1 to 20" << std::endl;
}
}
void setlength(int b)
{
if (test(b,m_width)) {
m_length = b;
} else {
std::cerr << "length must be a value between 1 to 20" << std::endl;
}
}
int Getwidth() const
{
return m_width;
}
int Getlength() const
{
return m_length;
}
bool test(int length,int width)
{
return (length >= 1 && length <= 20 && width >= 1 && width <= 20);
}
int perimeter() const
{
return ((m_width + m_length ) << 1);
}
int ares() const
{
return m_width * m_length;
}
friend std::ostream & operator << (std::ostream &os,const Rectangle &rect)
{
os << "Rectangle [ width : " << rect.m_width
<< " length : " << rect.m_length << " perimeter : "
<< rect.perimeter() << " ares : " << rect.ares()
<< " ]" << std::endl;
return os;
}
private:
int m_width,m_length;
};
int main()
{
Rectangle rect;
rect.setlength(10);
rect.Setwidth(15);
std::cout << rect ;
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |