说明:C++的类定义中,可以任意安排成员函数和成员变量的位置,一般我们将成员变量都设置成私有的,而将大多成员函数都设置为公有的。其中,公有成员和私有成员顺序的安排没有统一的标准,但是我们倾向于将成员函数放在成员变量之前。
代码示例:
//包含一个非常简单的类的演示程序
//类DayOfYear
#include<iostream>
#include<cstdlib>
using namespace std;
class DayOfYear
{
public:
void input();
void output();
void set(int newMonth,int newDay);
//前提条件:newMonth和newDay可以构成一个合法的日期
void set(int newMonth);
//前提条件:1<=newMonth<=12
//运行结果: 日期被设定为参数给定月份的第一天
int geyMonthNumber();
int getDay();
private:
int month;
int day;
};
int main()
{
DayOfYear today,bachBirthday;
cout<<"Enter today's date:
";
today.input();
cout<<"Today's date is ";
today.output();
cout<<endl;
bachBirthday.set(3,21);
cout<<"J.S Bach's birthday is ";
bachBirthday.output();
cout<<endl;
if(today.geyMonthNumber()==bachBirthday.geyMonthNumber()&&today.getDay()==bachBirthday.getDay())
{
cout<<"Happy Birthday Johann Sebastian!
";
}
else
{
cout<<"Happy Unbirthday Johann Sebastian!
";
}
return 0;
}
//使用iostream和cstdlib
void DayOfYear::set(int newMonth,int newDay)
{
if((newMonth>=1)&&(newMonth<=12))
{
month=newMonth;
}
else
{
cout<<"Illegal month value!Program aborted.
";
exit(1);
}
if((newDay>=1)&&(newDay<=31))
{
day=newDay;
}
else
{
cout<<"Illegal day value!Program aborted.
";
exit(1);
}
}
void DayOfYear::set(int newMonth)
{
if((newMonth>=1)&&(newMonth<=12))
{
month=newMonth;
}
else
{
cout<<"Illegal month value!Program aborted.
";
exit(1);
}
day=1;
}
int DayOfYear::geyMonthNumber()
{
return month;
}
int DayOfYear::getDay()
{
return day;
}
void DayOfYear::input()
{
cout<<"Enter the month as a number:";
cin>>month;
cout<<"Enter the day of the month:";
cin>>day;
if((month<1)||(month>12)||(day<1)||(day>31))
{
cout<<"Illegal date!Program aborted.
";
exit(1);
}
}
void DayOfYear::output()
{
switch(month)
{
case 1:
cout<<"January ";
break;
case 2:
cout<<"February ";
break;
case 3:
cout<<"March ";
break;
case 4:
cout<<"April ";
break;
case 5:
cout<<"May ";
break;
case 6:
cout<<"June ";
break;
case 7:
cout<<"July ";
break;
case 8:
cout<<"August ";
break;
case 9:
cout<<"September ";
break;
case 10:
cout<<"October ";
break;
case 11:
cout<<"November ";
break;
case 12:
cout<<"Decemebr ";
break;
default:
cout<<"Error in DayOfYear::output.";
}
cout<<day;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。