给出如下类定义和函数fclassDate{private:intd,m,y;public:Date(intdd,intmm,intyy);voidadd_year(intyy);voidadd_month(intmm);voidadd_day(intdd);}#include"Date.h"voidf(){Datetoday=Date(15,8,2004);//1Datethis_day(15,8,2004);//2Dateother_daA、第1行B、第2行C、第3行D、第4行

题目

给出如下类定义和函数fclassDate{private:intd,m,y;public:Date(intdd,intmm,intyy);voidadd_year(intyy);voidadd_month(intmm);voidadd_day(intdd);}#include"Date.h"voidf(){Datetoday=Date(15,8,2004);//1Datethis_day(15,8,2004);//2Dateother_da

A、第1行

B、第2行

C、第3行

D、第4行


相似考题
参考答案和解析
参考答案:C
更多“给出如下类定义和函数fclassDate{private:intd,m,y;public:Date(intdd,intmm,intyy);voidadd_ ”相关问题
  • 第1题:

    有如下的类的模板定义: template class MyClass { private:T number; public:MyClass(

    有如下的类的模板定义:

    template <class T>

    class MyClass

    {

    private:

    T number;

    public:

    MyClass(T k);

    };

    其中构造函数MyClass()用k的值初始化数据成员n。因此在模板类体外,构造函数

    MyClass应定义为【 】。


    正确答案:templateclassT>/MyClassT>::MyClass(T k):number(k){}
    templateclassT>/MyClassT>::MyClass(T k):number(k){} 解析:类模板的成员函数的类体外的定义以“templateclass T>”开头。

  • 第2题:

    有以下程序: class Date { public: Date(int y,int m,int d); { year = y; month = m; day = d; } Date(int y = 2000) { year = y; month = 10; day = 1; } Date(Date &d) { year = d.year; month = d.month; day = d.day; } void print() { cout<<year<<"."<<month<<"."<<day<<endl; } private: int year,month,day; }; Date fun(Date d) { Date temp; temp = d; resurn temp; } int main () { Date date1 (2000,1,1),date2 (0,0,0); Date date3 (date1); date2 = fun(date3); return 0; } 程序执行时,Date类的拷贝构造函数被调用的次数是

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第一次是在执行语句Date date3(date1);时,用已经建立的对象date1对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句return temp;时,系统用返回初始化一个匿名对象时使用了拷贝构造函数。

  • 第3题:

    有以下程序:

    classDate

    {public:

    Date(inty,intm,intd);

    {year=Y;

    month=m;

    day=d;}

    Date(inty=2000)

    {year=y;

    month=10;

    day=1;}

    Date(Date&d)

    {year=d.year;

    month=d.month;

    day=d.day;}

    voidprint()

    {cout<<year<<"."<<month<"."<<

    day<<endl;}

    private:

    intyear,month,day;};

    Datefun(Dated)

    {Datetemp;

    temp=d;

    returntemp;}

    intmain()

    {Datedatel(2000,1,1),date2(0,0,O);

    Datedate3(date1);

    date2=fun(date3);

    return0;}

    程序执行时,Date类的复制构造函数被调用的次数是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    B。【解析】本题复制构造函数一共被调用了三次:第一次是在执行语句Datedate3(datel);时,用已经建立的对象datel对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了复制构造函数。

  • 第4题:

    有以下程序: classDate {public: Date(inty,intm,intd); {year=Y; month=m; day=d;} Date(inty=2000) {year=y; month=10; day=1;} Date(Date&d) {year=d.year; month=d.month; day=d.day;} voidprint() {cout<<year<<"."<<month<"."<< day<<endl;} private: intyear,month,day;}; Datefun(Dated) {Datetemp; temp=d; returntemp;} intmain() {Datedatel(2000,1,1),date2(0,0,O); Datedate3(date1); date2=fun(date3); return0;} 程序执行时,Date类的复制构造函数被调用的次数是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    B。【解析】本题复制构造函数一共被调用了三次:第一次是在执行语句Datedate3(datel);时,用已经建立的对象datel对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了复制构造函数。

  • 第5题:

    有以下程序: classDate { public: Date(inty,intm,intd); { year=Y: month=m; day=d; } Date(inty=2000) { year=y; month=10; day=1; } Date(Date&d)

    { year=d.year; month=d.month; day=d.day; } voidprint( ) { cout<<year<<"."<(month<<"."<<day<<endl; } private: intyear,month,day; }; Datefun(Dated) { Datetemp; temp=d; returntemp; } intmain( ) { Datedatel(2000,1,1),date2(0,0,0); Datedate3(datel); date2=fun(date3); return0; } 程序执行时,Date类的拷贝构造函数被调用的次数是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    B。【解析】本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。