更多“操作year(month())的作用是()。 ”相关问题
  • 第1题:

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

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

    include <iostream>

    using namespace std;

    class Date{

    public:

    Date(int m=1,int y=0):month(m),year(y){}

    void Print( ){cout<<month<<"/"<<year<<endl;}

    (9) operator+(const Date&dl,const Date& d2);

    private:

    int month,year;

    };

    (10) operator+(const Date& dl,const Date& d2){

    int year,month;

    year=d1.year+d2.year;

    month=d1.month+d2.month;

    year+=(month-1)/12;

    month=(month-1)%12+1;

    return Date(month,year);

    }

    void main( ){

    Date dl(3,2004),d2,d3(10);

    d2=d3+dl;

    d2.Print( );

    }


    正确答案:friend:Date Date
    friend:Date Date 解析:因为重载函数后面有两个形参,“+”运算符是二元运算符,故将“+”运算符重载为友元函数,重载为友元函数的一般格式为:
    niend函数类型operator运算符(形参表){函数体}

  • 第2题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为1/2005。includeusing n

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

    include <iostream.h>

    using namespace std:

    class Date

    public:

    Date (int m=1,int y=0):month(m .year(y}{}

    void Print() {cout<<month<<"/"<<year<<end1;}

    ______operator+(const Date& d1,const Date&d2;

    private:

    int month year;

    };

    ______operaror+(const Date&d1,const Date& d2)

    int year, month;

    year=d1.year+d2.year;

    month=d1.month+d2.month;

    year+=(month-1)/12;

    month=(month-1)%12+l;

    return Date{month, year}:

    }

    void main()

    {

    Date d1(3,2004),d2,d3(10);

    d2=d3+d1;

    d2.Print();

    }


    正确答案:friend Date; Date
    friend Date; Date 解析:本题考核类与对象、运算符的重载。题中运算“+”重载函数中的参数表中有两个参数,所以是作为友元函数重载(因为“+”是一个二元运算符,作为成员函数重载时参数表中只有一个参数,对应于第二个参数,而第一个操作数就是对象本身,仅以this指针的形式隐藏在参数表中),实现的功能是将参数对象中的成员变量month、year的进行对应相加,实现年月的相加-题中运算符重载函数的返回值的类型是类Date,所以第一个空格处填入"friend Date"。第二个空格处完善运算符重载函数的定义,缺少的是函数返回值的类型“Date”

  • 第3题:

    有以下程序: 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<<“.”<<mo

    A.2

    B.3

    C.4

    D.5


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

  • 第4题:

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

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

    include<iostmam>

    using namespace std;

    class Date

    {

    public:

    Date(int m=1,int y=0):month(m),year(y){}

    void Print(){cout<<month<<"/"<<year<<endl;}

    operator+(const Date&d1.const Date& d2);

    private:

    int month,year;

    };

    operator+(const Date&d1,const Date &d2)

    {

    int year,month;

    year=d1.year+d2.year;

    month=d1.month+d2.month;

    year+=(month-1)/12;

    month=(month-1)%12+1;

    return Date(month,year);

    }

    void main()

    {

    Date d1(3,2004),d2,d3(10);

    d2=d3+d1;

    d2.Print();

    }


    正确答案:friend Date Date
    friend Date Date

  • 第5题:

    在下向程序和横线处填上适当的内容,使程序执行后的输出结果为1/2005。 include using

    在下向程序和横线处填上适当的内容,使程序执行后的输出结果为1/2005。

    include <iostream>

    using namespace std;

    class Date

    {

    public:

    Date(int m=1,int y=0):month(m),year(y){}

    void Print() {cout<<month<<"/"<<year<<end 1; }

    【 】 operator+(eonst Date& d1, const Date& d2);

    private:

    int month,year;

    };

    【 】 operator+(const Date& d1, const Date& d2)

    {

    int year,month;

    year=d1.year+d2.year;

    month=d1. month+d2.month;

    year+=(month-1 )/12;

    month=(month-1 )% 12+1;

    return Date(month,year);

    }

    void main()

    Date d1 (3,2004),d2,d3(10);

    d2=d3+d1;

    d2,Print();

    }


    正确答案:friend Date Date
    friend Date Date 解析:重载及友元的相关内容。