有如下程序: include using namespace std; class Pair{ int m, n; public: Pair(int有如下程序:#include<iostream>using namespace std;class Pair{int m, n;public:Pair(int j, int k):m(j), n(k){}int get(){return m;}int get()const{return m+n;)};int main() {Pair a(3, 5);const

题目
有如下程序: include using namespace std; class Pair{ int m, n; public: Pair(int

有如下程序:

#include<iostream>

using namespace std;

class Pair{

int m, n;

public:

Pair(int j, int k):m(j), n(k){}

int get(){return m;}

int get()const{return m+n;)

};

int main() {

Pair a(3, 5);

const Pair b(3, 5);

cout<<a. get()<<b. get();

return 0;

}

运行时的输出结果是( )。

A) 33

B) 38

C) 83

D) 88

A.

B.

C.

D.


相似考题
更多“有如下程序: #include<iostream> using namespace std; class Pair{ int m, n; public: Pair(int ”相关问题
  • 第1题:

    有如下程序:includeincludeusing namespace std;class BASE{char c;public

    有如下程序: #include<iostream>#include<iosream> using namespace std; class BASE{ char c; public; BASE(char n):c(n){} virtual ~ BASE(){cout<<c;} }; class DERIVED; public BASE{ char c; public: DERIVED (char n): BASE (n+1)

    A.XY

    B.YX

    C.X

    D.Y


    正确答案:A

  • 第2题:

    有如下程序: #include<iostream> using namespace std; class Pair{ int m,n; public: Pair(int j,int k):m(j),n(k){} int get{return m;} int getconst{return m+n;} }; int main{ Pair a(3,5); const Pair b(3,5); tout<<a.get’<<b.get; return U: } 执行这个程序的输出结果是( )。

    A.33

    B.38

    C.83

    D.88


    正确答案:B
    本题考查常对象、常成员函数及构造函数。常对象只能调用常成员函数,所以本题中,对象a为普通对象,执行a.get后,会执行默认构造函数,输出3;对象b为常对象,执行b.get后,会执行常构造函数,输出8。

  • 第3题:

    阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。



    【C++代码】
    #include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}


    答案:
    解析:
    (6)(1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle*drawCircle
    (3)drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里填drawcircle,用-> drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

  • 第4题:

    使用VC6打开考生文件夹下的工程test27_1,此工程包含一个源程序文件test27_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为;

    100

    源程序文件test27_1.cpp清单如下:

    include <iostream.h>

    template <class T>

    class pair

    {

    T valuel, value2;

    public:

    pair (T first, T second)

    {valuel=first; value2=second;}

    /***************** found *****************/

    char getmax ();

    };

    /***************** found *****************/

    T pair<T>::getmax ()

    {

    T retval;

    /***************** found *****************/

    retval = valuel>value2?? value1 : value2;

    return retval;

    }

    void main ()

    {

    pair <int> myobject (100, 75);

    cout << myobject.getmax()<<end1;

    }


    正确答案:(1)错误:char getmax(); 正确:T getmax(); (2)错误:缺少模板的声明 正确:templateclassT> (3)错误:retval=valuel>value2??value1:value2; 正确:retval=valuel>value2?value1:value2;
    (1)错误:char getmax(); 正确:T getmax(); (2)错误:缺少模板的声明 正确:templateclassT> (3)错误:retval=valuel>value2??value1:value2; 正确:retval=valuel>value2?value1:value2; 解析:(1)主要考查考生对于模板使用的理解,该函数属于模板类定义的一部分,对于返回值类型,应该使用模板类名称T,这样编译的时候才‘能被接受:
    (2)主要考查考生是否掌握了模板的使用,前面的模板类已经声明完成了,在类的外面定义类的成员函数时仍然需要使用模板的声明,这样在后面的函数定义体中才能使用模板类;
    (3)主要考查考生对于“表达式17表达式2:表达式3”语句的掌握,这个语句是一个复合语句,先计算第一个表达式,如果为真则整个式子值为表达式2的值,否则为表达式3的值,题目中错误的使用了两个问号;

  • 第5题:

    有如下程序:includeusing namespaee std;class Pair{int m;int n;public:Pair(int i,

    有如下程序: #include<iostream> using namespaee std; class Pair{ int m; int n; public: Pair(int i,int j):m(i),n(j){ } boot operator>(pair P)const;//需在类体外给出定义 }; int main( ){ Pair pl(3,4),p2(4,3),p3(4,5); cout<<(pl>p2)<<(p2>p1)<<(p2>p3)<<(p3>p2); retum 0; } 运算符函数operator>的功能是比较两个Pair对象的大小,当左边对象大时,返回true,否则返回false。比较规则是首先比较两对象的m成员,m大者为大;当m相等时比较n,n大者为大。程序输出0101,下列对运算符重载函数的正确定义是

    A.bool Pair::operator>(Pair P)eonst

    B.bool Pair::operator>(Pair P) {if(m!=P.m)return m>p.In;return n>p.n;} {if(m!=P.m)return m>p.m;return n>p.n;}

    C.bool Pair::operator>(Pair P)eonst

    D.bool Pair::operator>(Pair P) {if(m>p.m)return true;return n>p.n;} {if(Ul>p.m)return true;return n>p.n;}


    正确答案:C