完成下列类的构造函数,初始化语句为______。 include class Test { private: int x,y完成下列类的构造函数,初始化语句为______。include<iostream.h>class Test{private:int x,y;public:void Test(int initx,int inity){______}void printx( ){cout<<x<<"-"<<y<<"="<<x-y;}};void main( ){Test x(300,200);x.pri

题目
完成下列类的构造函数,初始化语句为______。 include class Test { private: int x,y

完成下列类的构造函数,初始化语句为______。

include<iostream.h>

class Test

{

private:

int x,y;

public:

void Test(int initx,int inity){

______

}

void printx( ){cout<<x<<"-"<<y<<"="<<x-y;}

};

void main( )

{

Test x(300,200);

x.printx( );

}


相似考题
参考答案和解析
正确答案:x=initx; y=inity;
x=initx; y=inity; 解析:本题考查的是类的私有数据如何从接口成员函数那里得到数据的。本题虽然简单,却体现了类的数据封装思想,并指明了如何完成这种封装。
更多“完成下列类的构造函数,初始化语句为______。 include<iostream.h> class Test { private: int x,y ”相关问题
  • 第1题:

    使用VC6打开考生文件夹下的工程test24_3,此工程包含一个源程序文件test24_3.cpp,其中定义了抽象类point和它的派生类line,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。

    (1)定义类point的构造函数,函数含参数i和j它们都是int型数据,默认值都是0,用i和j分别将point的数据成员x0和y0初始化。请在注释“//**1**”之后添加适当的语句。

    (2)完成类point的成员函数纯虚函数void set()和void draw()的定义,请在注释“//**2**”之后添加适当的语句。

    (3)添加类line的构造函数,函数含参数i,j,m和n,它们都是int型数据,默认值都是0,用i和j分别将point的数据成员x0和y0初始化。请在注释“//**3**”之后添加适当的语句。输出结果如下:

    line::set()called.

    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

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

    include<iostream.h>

    class point

    {

    public:

    //**1**

    //**2**

    protected:

    int xO,yO;

    }

    class line: public point

    {

    public:

    //**3**

    {

    x1=m;

    y1=n;

    }

    void set(){ cout<<"line::set() called.\n"; }

    void draw(){ cout<<"line::draw() called.\n"; }

    protected:

    int x1,y1;

    };

    void main()

    {

    line *lineobj = new line;

    1ineobj->set();

    }


    正确答案:(1) point(int i=Oint j=0){x0=i;y0=j;} (2) virtual void set()=0; virtual void draw()=0; (3) line(int i=Oint j=0int m=0int n=0):point(ij)
    (1) point(int i=O,int j=0){x0=i;y0=j;} (2) virtual void set()=0; virtual void draw()=0; (3) line(int i=O,int j=0,int m=0,int n=0):point(i,j) 解析:本题主要考查考生对于纯虚函数和抽象类以及派生类构造函数的使用,注意(2)中纯虚函数的定义格式。纯虚函数是一种特殊的函数,不是在基类中实现,而是在派牛类中实现,说明格式是在函数声明中加入关键字“virtual”和“=0”。
    如:virtual void set()=0;。而带有纯虚函数的类就是抽象类,它是不能定义对象的,只是一个公共的类。

  • 第2题:

    以下程序的运行结果是______。 include include template class TA

    以下程序的运行结果是______。

    include<iostream.h>

    include<math.h>

    template<class T>

    class TAdd//定义类模板TAdd,T为类型

    {

    Tx,y;

    public:

    TAdd (Ta,Tb) {x=a,y=b;) //构造函数

    Tadd() { retum x+y;}//成员函数

    };

    void main( )

    {

    TAdd<int>A (5,6);


    正确答案:s1=11 s2=8.2
    s1=11 s2=8.2

  • 第3题:

    如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。

    include<iostream.h>

    class test

    {

    private:

    int hum;

    public:

    test(int);

    void show( );

    };

    test::test(int n){num=n;}

    test::show( ){cout<<num<<endl;}

    void main( )

    {

    test T(10):

    T.show( );

    }


    正确答案:void test::show( ){coutnumendl;}
    void test::show( ){coutnumendl;} 解析:show成员函数的声明和实现不一致,即实现部分应有void修饰符,这样才能编译通过。

  • 第4题:

    根据下面的主程序,完成类的一种构造函数的最简单形式。 include class base { privat

    根据下面的主程序,完成类的一种构造函数的最简单形式。

    include<iostream.h>

    class base

    {

    private:

    int num;

    public:

    ______;

    };

    void main( )

    {

    base try(6);

    }


    正确答案:[10] base(int n){}
    [10] base(int n){} 解析:注意,根据main函数中对类base的使用情况可知,base类必须提供整型单参构造函数,同时要求构造其最简单的形式,故函数体为空。

  • 第5题:

    使用VC6打开考生文件夹下的工程test11_3。此工程包含一个test11_3.cpp,其中定义了类CPosition,但该类的定义都并不完整。请按要求完成下列操作,将类CPosition的定义补充完整。

    (1)在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。请在注释“//**1**”之后添加适当的语句。

    (2)在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位,请在注释“// **2**”之后添加适当的语句。

    (3)完成函数double distance (double bx,double by)的定义,该函数返回*this和点(bx,by)的距离,请在注释“//**3**”之后添加适当的语句。

    注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。

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

    include<iostream.h>

    include<math.h>

    class CPosition

    {

    public:

    CPosition();

    CPosition(double dx,double dy);

    double getx();

    double gety();

    // ** 2 **

    double distance(double bx,double by);

    private:

    double x;

    double y;

    };

    // ** 1 **

    {

    x=0;y=0;

    }

    CPosition::CPosition(double dx,double dy)

    {

    x=dx;y=dy;

    }

    double CPosition::getx()

    {

    return x;

    }

    double CPosition::gety()

    {

    return y;

    }

    double CPosition::distance(double bx,double by)

    {

    // ** 3 **

    }

    void main()

    {

    double a,b;

    cout << "Input x, y position of a point:";

    cin >> a >> b;

    CPosition psA(a,b);

    cout << “Input x,y position of another point:";

    cin >> a >> b;

    cout << "The distance is " << psA.distance(a,b) <<endl;

    }


    正确答案:(1) CPosition::CPosition () (2) void move(double axdouble ay){x+=ax;y+=ay;}; (3) return sqrt (pow (x-bx2)+pow (y-by2));
    (1) CPosition::CPosition () (2) void move(double ax,double ay){x+=ax;y+=ay;}; (3) return sqrt (pow (x-bx,2)+pow (y-by,2)); 解析:本题主要考查考生对于类的定义和重载构造函数的掌握情况。在(3)中使用了基本的数学函数sqrt(x)求x的开方,pow (x, n)函数是求x的n次方。