已知类MyClass的定义如下:classMyClass{public:voidfunctionl(MyClass&c){out<<c.data;}statievoidfunction2(MyClas&c){cout<<c.data;}voidfunction3(){out<<data;}statiCvoidfunction4(){COut<<data;}private:intdata;}:其中有编译错误的函数是( )。A.function1B.function2C.function3D.function

题目

已知类MyClass的定义如下:

classMyClass{

public:

voidfunctionl(MyClass&c){out<<c.data;}

statievoidfunction2(MyClas&c){cout<<c.data;}

voidfunction3(){out<<data;}

statiCvoidfunction4(){COut<<data;}

private:

intdata;

}:

其中有编译错误的函数是( )。

A.function1

B.function2

C.function3

D.function4


相似考题
更多“已知类MyClass的定义如下: classMyClass{public: voidfunctionl(MyClass&c){out&lt;&lt;c.data;} ”相关问题
  • 第1题:

    有如下的类模板定义: templateclassMyClass{TYPE n; public:MyClass(TYPE k);… };

    有如下的类模板定义:

    template<typenameTYPE>

    classMyClass{

    TYPE n;

    public:

    MyClass(TYPE k);

    };

    其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义______。


    正确答案:templatetypename TYPE> TyClassTYPE>::MyClass(TYPE k):n(k){}
    templatetypename TYPE> TyClassTYPE>::MyClass(TYPE k):n(k){}

  • 第2题:

    已知类MyClass的定义如下: ClassMyClass{ public: MyClass(intd){data=d;} ~MyClass(){} private: intdata; }; 下列对MyClass类对象数组的定义和初始化语句中,正确的是( )。

    A.MyClassarray[2];

    B.MyClassarray[2]={MyClass(5)};

    C.MyClassarray[2]={MyClass(5),Myclass(6)};

    D.MyClass*array=newMyClass[2];


    正确答案:C
    C。【解析】A只是声明,没有初始化;B的初始化错误,另一个数组对象没有指明地址;D同样做的不是初始化的事情。

  • 第3题:

    37、已知类MyClass 声明如下: class MyClass { int n; public: MyClass(int k) : n(k) {} int getValue()const { return n; } }; 在下列数组定义中正确的是 ()

    A.MyClass x[2];

    B.MyClass x[2]={new MyClass(1), new MyClass(2)};

    C.MyClass *x[2];

    D.MyClass *x[2]={MyClass(1), MyClass(2)};


    MyClass *x3[2];

  • 第4题:

    已知类MyClass声明如下:

    class MyClass{

    int n;

    public:

    MyClass(int k):n(k){}

    int getValue()const{return n;}

    };

    在下列数组定义中正确的是

    A.MyClass xl[2];

    B.MyClass x2[2]={new MyClass(1),new MyClass(2)};

    C.MyClass * x3[2];

    D.MyClass * x412]={MyClass(1),MyClass(2)};


    正确答案:C
    解析:MyClass类中只定义了一个构造函数,即Myclass(int k):n(k){},这个构造函数只有一个形参,因此A)选项错误;类中并没有提供有“MyClass*”类型转化为“MyClass”类型的功能,因此B)选项错误;同理,类中也没有提供“MyClass”类型转化为“My-Class*”类型的功能,D)选项错误。C选项是定义了一个指向MyClass类型的指针数组,故本题选c)。

  • 第5题:

    如下的类定义,错误的语句是( )。class Myclass {public: int a=1; //A) Myclass( ); //B) Myclass(int i); //C) ~Myclass( ); //D)

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    解析:类中的数据成员不能在定义类时直接赋初值。