为使下列程序的正确输出结果为:Now is 2004-7-6 12:12:12 那么应该在程序划线处填入的语句是( )。 #include <iostream> using namespace std; class TIME; class DATE { public:DATE(int y=2004,int m=1,int d=1){ year=y; month=m; day=d;}void DateTime(TIME &t); private:int year,month, day; }; class TIME { public:TIME(int h=0,int m=0,int s=0){ hour=h; minute=m; second=s;}______________; //将类 DATE 中成员函数 DateTime 声明为类 TIME 的友元函数 private:int hour,minute, second; }; void DATE: :DateTime(TIME &t) {cout<<"Now is "<<year<<’-’<<month<<’-’<<day<<’ ’<<t.hour<<":"<<t.minute<<’: ’<<t.seoond<<’.’<<end1; } int main ( ) { DATE d(2004,7,6); TIME t (12, 12, 12); d. DateTime (t); return 0; }
A.friend void DateTime(TIME &;
B.friend void DATE::DateTime(TIME &0;
C.void DateTime(TIME &;
D.friend void DateTime(TIME &;
参考答案:B
解析: 根据要求可知,在横线处是将类DATE中成员函数DateTime声明为类 TIME的友元函数。由于函数DateTime是类DATE的成员函数,因此对DateTime函数的使用要加上“DATE::”修饰。其他各声明的组成部分可参照函数DateTime在类体外的定义实现。