niusouti.com

为使下列程序的正确输出结果为: 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; }; c

题目

为使下列程序的正确输出结果为: 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 &t);

B.friend void DATE::DateTime(TIME &0;

C.void DateTime(TIME &t);

D.friend void DateTime(TIME &t);


相似考题
参考答案和解析
正确答案:B
解析:根据要求可知,在横线处是将类DATE中成员函数DateTime声明为类TIME的友元函数。由于函数DateTime是类DATE的成员函数,因此对DateTime函数的使用要加上“DATE::”修饰。其他各声明的组成部分可参照函数DateTime在类体外的定义实现。
更多“为使下列程序的正确输出结果为: Now is 2004-7-6 12:12:12 那么应该在程序划线处填入的语句是()。 ”相关问题
  • 第1题:

    在下面程序的画线处填上适当的内容,使程序执行后的输出结果为ABCD。 include using

    在下面程序的画线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include <iostream>

    using namespace std;

    class A{

    public:A( ){cout<<'A';}

    };

    class B: (11) {

    public:B( ){cout<<'B';}

    {;

    class C: (12) {

    public:C( ){cout<<'C';}

    };

    class D:public B,public C{

    public:D( ){cout<<'D';}

    };

    void main( ){

    D( );

    cout<<endl;

    }


    正确答案:public A 空格
    public A 空格 解析:考查在继承中构造函数的调用顺序,创建派生类对象时依次调用基类的构造函数,最后调用派生类的构造函数。考查在继承中构造函数的调用顺序,创建派生类对象时依次调用基类的构造函数,最后调用派生类的构造函数。

  • 第2题:

    假定当前日期为2002年12月16日,星期一,则执行以下语句后,输出结果是16、12、 2002______。

    PrintDay(Now)<CR>

    PrintMonth(NOW)<CR>

    PrintYear(Now)<CR>

    PrintWeekday(NOW)<CR>


    正确答案:2
    2

  • 第3题:

    在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。include using namespac

    在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。

    include<iostream>

    using namespace std;

    class TestClass

    {

    public:

    int a,b;

    TestClass(int i,int j)

    {

    a=i;

    b=j;

    }

    };

    class TestCla


    正确答案:coutTestClass∷a
    coutTestClass∷a 解析: 题目中程序TestClass为基类,TestClass1为派生类,在主函数中定义TestClass1对象d(1)。据题目要求“输出基类数据成员a的值”,基类为TestClass,利用∷域运算符取其成员a的值。

  • 第4题:

    为使该程序执行结果为10,那么应该在程序划线处填入的语句是()。includeusing namespac

    为使该程序执行结果为10,那么应该在程序划线处填入的语句是( )。 #include<iostream> using namespace std; class MyClass { public: MyClass (int a) { x=a; } ___________ //取x值 private: int x; }; int main() { MyClass my(10); cout<<my.GetNum()<<end1; return 0; }

    A.return x;

    B.int GetNum(){ return x;}

    C.intreturn x;

    D.void GetNum(){return x;}


    正确答案:B
    解析:此题为完成类的定义。由题可知,横线处要填的语句为类中的成员函数,它实现的功能是取x的值(即返回x的值)。又由主函数中的语句“coutmy.GetNum()end1;”可知,此成员函数的函数名为GetNum()。其函数体为:{returnx;}。

  • 第5题:

    在下列的程序的横线处填上适当的语句,使该程序的输出为12。include using namespace

    在下列的程序的横线处填上适当的语句,使该程序的输出为12。

    include<iostream.h>

    using namespace std;

    class Base

    {

    public:

    int a,b;

    Base(int i){a=i;}

    };

    class Derived:public Base

    {

    int a;

    public:

    Derived(int x):Base(x),b(x+1){};

    void show()

    {


    正确答案:eoutBase::a。
    eoutBase::a。 解析: 本题考查的是基类和派生类的构造函数。派生类构造函数的执行顺序:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。本题要求结果是输出12,分析题目,首先调用基类的构造函数,然后是调用子对象的构造函数,横线处要求输出基类成员a的值,填入toutBase::a即可。