单选题
为了使程序的输出的正确结果为: Now is 2004.7.10 10:10:10. 那么应在下列程序划线处填入的正确语句是( )。 那么应在下列程序划线处填入的正确语句是( )。 #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;
friend void DateTime(DATE &d, TIME &t); private: int year, month, day; ; class TIME
DATE d(2004,7,10); TIME t(10, 10, 10); DateTime(d,t); return 0;
【正确答案】
A
【答案解析】[解析] 本题程序中,分别在类DATE和TIME中将普通函数DateTime声明为友元函数,但该友元函数的定义是在类体外进行的。友元函数是一个普通函数,它虽然可以访问类对象的私有成员,但它毕竟不是类中的成员函数,因此在类体外定义友元函数时,不需要像成员函数一样在函数名前加上“类名::”。函数首部的其他定义照抄类中友元函数的声明。所以函数DateTime的首部为void DateTime(DATE&d; TIME &t),即选项A。