/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:黄兆宽
* 完成日期: 2013年 3 月 29 日
* 版本号: v1.0
* 输入描述:无
* 问题描述:函数重载。
* 程序输出:矩形周长、面积及对角线。
*/
#include<iostream>
#include<cmath>
using namespace std;
class Rectangle
{public:
Rectangle();
Rectangle(double,double);
double perimeter(void);//计算矩形的周长
double area(void);//计算并返回矩形的面积
double diagonal(void);
bool issquar();
void showMessage();
private:
double a,b; //两边为私有成员数据
};
Rectangle::Rectangle()
{
a=1;b=1;
}
Rectangle::Rectangle(double x,double y)
{
a=x;b=y;
}
void Rectangle:: showMessage()
{
cout<<"矩形的长和宽为:"<<a<<'\t'<<b<<endl;
cout<<"该矩形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<'\t'<<"对角线为: "<<diagonal()<<endl<<endl;
cout<<"该矩形"<<(issquar()?"是":"不是")<<"正方形"<<endl<<endl;
}
int main(void)
{
Rectangle Tri1; //定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1
Tri1.showMessage();
Rectangle Tri2(7,8); //定义三角形类的一个实例(对象)
Tri2.showMessage();
}
double Rectangle::perimeter(void)
{
double s;
s=(a+b)*2;
return s;
}
double Rectangle::area(void)
{
double area;
area=a*b;
return area ;
}
double Rectangle::diagonal(void)
{
double s;
s=sqrt(a*a+b*b);
return s;
}
bool Rectangle::issquar()
{
bool result=false;
if(a==b)
{
result=true;
}
return result;
}
运行结果: