6-1 面积计算器(函数重载)
实现一个面积计算器,它能够计算矩形或长方体的面积。
函数接口定义:
int area(int x, int y);
int area(int x, int y, int z);
第一个函数计算长方形的面积,其中x和y是长和宽。第二个函数计算长方体的表面积,x,y和z是长,宽和高。
6-2重载函数实现两数相加
6-3日期类
#include<iostream>
#include<cstdlib>
int daysInMonth(int year,int month)
{
int k;
int maxday[3][14]= {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if(year%4==0 || year%400==0)
{
k=maxday[1][month];
}
else k=maxday[0][month];
return k;
}
class Date{
private:
int year;
int month;
int day;
public:
void initialize(int year,int month,int day)
{
if(year<1900 || year>2120)
{
std::cout<<"year is invalid";
exit(0);
}
if(month<1 || month>12)
{
std::cout<<"month is invalid";
exit(0);
}
if(day<1 || day>daysInMonth(year,month))
{
std::cout<<"day is invalid";
exit(0);
}
this->year=year;
this->month=month;
this->day=day;
}
void addDay(int n)
{
day=day+n;
while(day>daysInMonth(year,month))
{
day=day-daysInMonth(year,month);
month++;
if(month>12)
{
month=1;
year++;
}
}
}
void show(char s)
{
std::cout<<year<<s<<month<<s<<day<<std::endl;
}
};