例8 使用VC6打開考生文件夾下的工程proj3。此工程包含一個源程序文件main.cpp,其中定義了用于表示日期的類Date,但類Date的定義并不完整。請按要求完成下列操作,將類Date的定義補充完成:
(1)定義私有數(shù)據(jù)成員year、month和day分別用于表示年、月、日,它們都是int型的數(shù)據(jù)。請在注釋:“//**1**”之后添加適當?shù)恼Z句。
(2)完成默認構(gòu)造函數(shù)Date的定義,使Date對象的默認值為:year=1,month=1,day=1,請在注釋“//**2**”之后添加適當?shù)恼Z句。
(3)完成重載構(gòu)造函數(shù)Date(int y,int m,int d)的定義,把數(shù)據(jù)成員year、month和day分別初始化為參數(shù)y、m和d的值,請在注釋“//**3**”之后添加適當?shù)恼Z句。
(4)完成成員函數(shù)print的類外定義,使其以“年-月-日”的格式將Date對象的值輸出到屏幕上。請在注釋“//**4**”之后添加適當?shù)恼Z句。
注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。
源程序文件main.cpp清單如下:
//main.cpp
#include
class Date
{
public:
//**2**
Date(int y,int m,int d)
{
//**3**
}
void print() const;
private:
//data member
//**1**
};
void Date::print() const
{
//**4**
}
int main()
{
Date national—day(1949,10,1);
national—day.print();
return 0;
}
答案: 本題是綜合應用題。
(1)定義私有數(shù)據(jù)成員year、month和day分別用于表示年、月、日,它們都是int型的數(shù)據(jù)。所以在1處填入:int year,month,day;
(2)完成默認構(gòu)造函數(shù)Date的定義,使Date對象的默認值為:year=1,month=1,day=1。根據(jù)以上要求可知類Date的默認構(gòu)造函數(shù)(2處)為:Date(){year=1;month=1;day=1}。
(3)完成重載構(gòu)造函數(shù)Date(int y,int m,int d)的定義,把數(shù)據(jù)成員year、month和day分別初始化為參數(shù)y、m和d的值。其實也就是給私有成員year、month和day賦值。所以在3處應填入:year=y;month=m;day=d;
(4)完成成員函數(shù)print的類外定義,使其以“年-月-日”的格式將Date對象的值輸出到屏幕上。函數(shù)print的功能是輸出Date對象的值,此處主要考核C+ +的格式化輸出。所以在4處應該填入:cout< <&NBSP; <&NBSP; <&NBSP; <&NBSP; <&NBSP;
相關推薦:2010年計算機等級考試二級VB補充資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |