/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:object.cpp
* 作者:胡颖
* 完成日期: 2013年3月 30日
* 版本号: v1.0
* 输入描述:无
* 问题描述:设计默认构造函数不给实参时默认长宽为2,构造函数求矩形面积、周长、对角线;判断是否为正方形
* 程序输出:输出矩形周长、面积、对角线,及是否为正方形
*/
#include<cmath>
#include<iostream>
using namespace std;
class Rectangle
{
public:
Rectangle(double l=2,double w=2);
double area();
double perimeter();
double diagonal();
bool isSquare();
void showMessage();
private:
double length;
double width;
};
void Rectangle::showMessage()
{
cout<<"矩形的长、宽:"<<length<<'\t'<<width<<endl;
cout<<"该矩形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<'\t'<<"对角线为:"<<diagonal()<<endl;
}
double Rectangle::area()
{
return length*width;
}
double Rectangle::perimeter()
{
return (length+width)*2;
}
double Rectangle::diagonal()
{
return sqrt(length*length+width*width);
}
bool Rectangle::isSquare()
{
bool isSquare=false;
if(width==length)
isSquare=true;
return isSquare;
}
Rectangle::Rectangle(double l,double w)
{
length=l;
width=w;
}
int main()
{
Rectangle r1;
r1.showMessage();
cout<<(r1.isSquare()?"是":"不是")<<"正方形"<<endl;
Rectangle r2(3,4);
r2.showMessage();
cout<<(r2.isSquare()?"是":"不是")<<"正方形"<<endl;
}
运行结果: