下列程序的执行结果为【 】。include class Point{public:Point(double i, double j)下列程序的执行结果为【 】。include <iostream. h>class Point{public:Point(double i, double j) { x=i; y=j;}double Area() const { return 0.0;}private:double x, y;};class Rectangle: public Point{public:Rect

题目
下列程序的执行结果为【 】。include class Point{public:Point(double i, double j)

下列程序的执行结果为【 】。

include <iostream. h>

class Point

{

public:

Point(double i, double j) { x=i; y=j;}

double Area() const { return 0.0;}

private:

double x, y;

};

class Rectangle: public Point

{

public:

Rectangle(double i, double j, double k, double 1)

double Area() const {return w * h;}

private:

double w, h;

};

Rectangle: :Rectangle(double i, double j, double k. double 1): Point(i,j).

{

w=k, h=1

}

void fun(Point &s)

{

cout<<s. Area()<<end1;

}

void main( )

{

Rectangle rec(3.0, 5.2, 15.0. 25.0);

fun(rec)

}


相似考题
参考答案和解析
正确答案:×
0 解析:注意本题不同于基类的指针指向派生类对象。Fun函数的形参是Point基类的引用。在可以用基类对象的地方,均可以用派生类替代,完成基类的行为。反之,在使用派生类对象的地方却不能用基类对象代替,这是因为派生类中的某些行为在基类对象中是不存在的。本题调用的是Point类对象的面积函数,其值永远为0。
更多“下列程序的执行结果为【 】。include <iostream. h>class Point{public:Point(double i, double j) ”相关问题
  • 第1题:

    下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 include using nam

    下列程序的输出结果为

    Object id=0

    Obiect id=1

    请将程序补充完整。

    include<iostream>

    using namespace std;

    class Point

    {

    public:

    Point(int xx=O,int yy=O){X=xx;Y=yy;countP++;}

    ~Point(){countp--;}

    int GetX()(return X;)

    int GetY(Xremm Y;)

    static void GetC(){cout<<"Objcetid="<<countp<<endl;}

    private:

    int X,Y;

    static int countP;

    }:

    【 】。 //静态数据成员的初始化

    int main()

    {

    Point::GetC();

    Point A(4,5);

    A.GetC()

    return 0;

    }


    正确答案:int Point::countP=0;
    int Point::countP=0; 解析:对静态数据成员除要进行引用性说明外,还应在文件作用域内的某个地方进行定义性声明。初始化静态成员前要用类名指定作用域。在类定义之外定义静态成员函数时,不使用static。

  • 第2题:

    有如下程序: #inClude<iostream> using namespaCe std; Class Point{ publiC: statiC int number; publiC: Point( )t.number++;} ~Point( ){number--;} }; , int P0int::number=0; int main( ){ Point *ptr: Point A,B; Point*ptr_point=new Point[3]; ptr=ptr_point;’ } Point C; Cout<<Point:::number<<endl; delete[]ptr; return 0; } 执行这个程序的输出结果是( )。

    A.3

    B.4

    C.6

    D.7


    正确答案:C
    本题考查默认构造函数.题目中定义.个对象A、B以及对象数组Point[3],又定义了对象C,共执行6次构造函数,number变为了6,所以本题答案为C。

  • 第3题:

    分析以下程序的执行结果【】。include class S{ int A[10]; public: int &operato

    分析以下程序的执行结果【 】。

    include <iostream. h>

    class S{

    int A[10];

    public:

    int &operator () (int);

    };

    int &S: :operator() (int x) {

    return A[x];

    }

    void main() {

    S a;

    int i,j;

    for (i=0; i<10; i++)

    a(i)=i*2;

    for (i=0; i<10; i++)

    cout<<a(i)<<" ";

    cout<<end1; }


    正确答案:0 2 4 6 8 10 12 14 16 18
    0 2 4 6 8 10 12 14 16 18

  • 第4题:

    下列程序的输出结果为 Object id=0 Object id=1 请将程序补充完整。 include using na

    下列程序的输出结果为

    Object id=0

    Object id=1

    请将程序补充完整。

    include <iostream>

    using namespace std;

    class Point

    {

    public:

    Point(int xx=0,int yy=0) {X=xx;Y=yy;countP++;}

    ~Point(){countP--;}

    int GetX(){return X;}

    int GetY(){return Y;}

    static Void GetC(){cout<<"Object id="<<countP<<endl;}

    private:

    int X,Y;

    static int countP;

    };

    ______ //静态数据成员的初始化

    int main ()

    {

    Point::GetC();

    Point A(4,5);

    A.GetC();

    return 0;

    }


    正确答案:int Point::countP=0;
    int Point::countP=0; 解析:本题考核静态数据成员的定义与使用方式。空格处填入的是静态数据成员的初始化。程序的结果输出中"Object id=0"表示静态数据成员countP的初始值是0。

  • 第5题:

    有以下程序:includeincludeusing namespace std; class point{private:double

    有以下程序: #include<iostream> #include<math> using namespace std; class point { private: double x; double y; public: point(double a,double B) { x=a; y=b; } friend double distance (point a,point B) ;

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数distance可以访问类point中的任何成员。在函数distance中,返回值为sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在主函数main中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。