niusouti.com
更多“有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample{ public:Sample(){)~Sample(){ ”相关问题
  • 第1题:

    已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidfl(int),void f2(int)和int a。

    A.Sample*p

    B.Int Samale::*pc=&Sample::a

    C.Void (Sample::*Pa) ()

    D.Sample *P[10]


    正确答案:C

  • 第2题:

    Sample是一个类, 定义如下 class Sample { int val; public: Sample(int v):val(v){} }; 执行下面语句后,调用Sample类的构造函数的次数是_______。 Sample a[3],*p=new Sample;

    A.0

    B.2

    C.3

    D.4


    C 解析:本题考核类的定义。C++不能类的定义中给数据成员赋初值。

  • 第3题:

    已知一个类Sample,()是定义指向类Sample成员函数的指针,假设类有三个公有成员: void f1(int)、void f2(int)和int a。

    A.Sample *p

    B.int Sample::*pc=&Sample::a

    C.void (Sample:: *pa)(int)

    D.Sample *a[10]


    C

  • 第4题:

    有如下类定义:

    class Sample{

    public:

    Sample();

    ~Sample();

    private:

    static int data;

    };

    将静态数据成员data初始化为0的语句是【 】。


    正确答案:Sample::data=0;
    Sample::data=0; 解析:将静态数据成员data初始化为0的语句是“Sample::data=0;”,因为Sample是一个公共类,可以这样进行初始化。

  • 第5题:

    有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample { public: Sample(){} ~Sample(){if(p)delete p;} Sample(const Sample&s){ p=new int; *p=___________; } void SetData(int data) {p=new int(data);} void print(){cout<<*p<<endl;} private: int*p; };


    p=new int;p=s.p; p=new int;p=s.p; 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。