下面程序运行时输出结果为______。 include include class Rect { public: Rect(int下面程序运行时输出结果为______。include<iostream.h>includeclass Rect{public:Rect(int l, int w){length=l; width=w;)void Print(){cout<<"Area:"<<length*width<<end1;}void operator delete(void*p){free(p);}pri

题目
下面程序运行时输出结果为______。 include include class Rect { public: Rect(int

下面程序运行时输出结果为______。

include<iostream.h>

include

class Rect

{

public:

Rect(int l, int w){length=l; width=w;)

void Print(){cout<<"Area:"<<length*width<<end1;}

void operator delete(void*p){free(p);}

private:

int length, width;

};

void main()

{

Rect *p;

p=new Rect(5, 4);

p->Print();

delete p;

}


相似考题
参考答案和解析
正确答案:Area:20
Area:20 解析:此题考查的是内存空间的分配和释放,即free和delete函数的应用。使用new对某种类型的变量进行动态分配的语法格式为:指针=new类型;使用delete对动态分配的变量进行释放是:delete指针。此题中,首先为变量分配内存单元,然后执行语句p->Print();输出Area:20,然后利用delete释放内存单元。
更多“下面程序运行时输出结果为______。 include<iostream.h> include class Rect { public: Rect(int ”相关问题
  • 第1题:

    下面程序输出的结果为 #include"iostream.h" class A { public: A(){cout<<"CLASSA"<<endl;} ~A() {} }; class B:public A { public: B(){cout<<"CLASSB"<<endl;} ~B() {} }; void main() { A * p; p=new B; B *q; q=new B; }

    A.CLASS A CLASS B

    B.CLASS A CLASS B CLASS B

    C.CLASS A CLASS B CLASS A CLASS B

    D.CLASS A CLASS B CLASS B CLASS B


    正确答案:C
    解析:每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。注意:类的实例化和构造函数、析函数的调用方式和何时调用。

  • 第2题:

    下面程序的运行结果为includeclass A{ int num;public: A(int){num=i;} A(ABm){num

    下面程序的运行结果为 #include<iostream.h> class A { int num; public: A(int){num=i;} A(ABm){num=a.num++;} void print(){cout<<num;} }; void main() { Aa(1),b(a); a.print(); b.print(); }

    A.11

    B.12

    C.21

    D.22


    正确答案:C
    解析:本题;号查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的num变为l而a的num变为2(先赋值再自加)。

  • 第3题:

    下面程序输出的结果为 #include"iostream.h” class A { public: A(){cout<<"CLASSA"<<endl;} ~A() {} }; class B:public A { public: B(){cout<<"CLASS B"<<endl;} ~B(){} }; void main() { A*p; p=new B;

    A.CLASS A CLASS B CLASS B CLASS B

    B.CLASS A CLASS B CLASS A CLASS B

    C.CLASS A CLASS B CLASS B

    D.CLASS A CLASS B


    正确答案:C

  • 第4题:

    下面程序输出的结果为

    #include"iostream.h"

    class A

    {

    public:

    A( ){cout<<"CLASS A"<<endl;}

    ~A( ){}

    };

    class B:public A

    {

    public:

    B( ){cout<<"CLASS B"<<endl;}

    ~B( ){}

    };

    void main( )

    {

    A*p;

    p=new B;

    B *q;

    q=new B;

    }

    A.CLASS A CLASS B

    B.CLASS A CLASS B CLASS B

    C.CLASS A CLASS B CLASS A CLASS B

    D.CLASS A CLASS B CLASS B CLASS B


    正确答案:C
    解析:每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。注意:类的实例化和构造函数、析构函数的调用方式和何时调用。

  • 第5题:

    下面程序输出的结果为( )。 #include"iostream.h" classA {public: A(){cOUt<<"CLASSA"<<endl;} ~A(){}}; ClaSSB:publicA {public: B(){cout<<"CLASSB"<<endl;} ~B(){}}; voidmain() {A*P; P=newB: B*q: q=newB;}

    A.CLASSA

    B.CLASSA CLASSBCLASSB CLASSB

    C.CLASSA

    D.CLASSA CLASSBCLASSB CLASSACLASSB CLASSBCLASSB


    正确答案:C
    C。【解析】本题考查类的继承、类的实例化和构造函数、析构函数的调用方式以及何时调用。每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。