( 14 )有如下程序:#includeusing namespace std;class DA{int k;public:DA ( int x=1 ) : k ( x ) {}~ DA () {cout<};int main () {DA d[]={DA ( 3 ) ,DA ( 3 ) ,DA ( 3 ) };DA* p=new DA[2];delete[]p;return0;}这个程序的输出结果是 【 14 】 。

题目

( 14 )有如下程序:

#include

using namespace std;

class DA{

int k;

public:

DA ( int x=1 ) : k ( x ) {}

~ DA () {cout<

};

int main () {

DA d[]={DA ( 3 ) ,DA ( 3 ) ,DA ( 3 ) };

DA* p=new DA[2];

delete[]p;

return0;

}

这个程序的输出结果是 【 14 】 。


相似考题
更多“( 14 )有如下程序:#includeusing namespace std;class DA{int k;public:DA ( int x=1 ) : k ( x ”相关问题
  • 第1题:

    有如下程序;includeusing namespace std;class DA {int k;public:DA(int x=1):k (x){

    有如下程序; #include<iostream> using namespace std; class DA { int k; public: DA(int x=1):k (x){} ~DA( ){cout<<k;} }; int main( ){ DA d[]={DA(3),DA(3),DA(3)}; DA *p=new DA[2]; delete []p; return (); } 这个程序的输出结果是( )。

    A.111

    B.333

    C.11333

    D.11133


    正确答案:C
    解析:此题考查的是析构函数和对象的生存期。在主函数中,首先定义了一个DA类对象数组d,从初始化列表中可以看出,它包含3个对象;然后通过new运算符动态创建了一个DA类的对象数组,并将首地址赋给DA类指针p;接着通过delete[]运算符销毁指针p所指向的数组,故此时会输出“11”。最后函数结束,销毁前面定义的对象数组d,会输出“333”。故最后的输出结果是11333。

  • 第2题:

    阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。



    【C++代码】
    #include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}


    答案:
    解析:
    (6)(1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle*drawCircle
    (3)drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里填drawcircle,用-> drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

  • 第3题:

    下列程序段执行结果是___________。 x = 1 print(type(x)) x = 1.0 print(type(x)) x = '1.0' print(type(x)

    A.<class 'int'> <class 'float'> <class 'str'>

    B.<class 'float'> <class 'int'> <class 'str'>

    C.<class 'str'> <class 'float'> <class 'int'>

    D.<class 'str'> <class 'int'> <class 'float'>


    C.循环执行1次

  • 第4题:

    有如下程序: #include<iostream> usingnamespacestd; classDA{ intk; public: DA(intx=1):k(x){} ~DA(){cout<<k;} }; intmain(){ DAd[]={DA(3),DA(3),DA(3)); DA+p=newDA[2]; delete[]p; return(); } 这个程序的输出结果是( )。

    A.111

    B.333

    C.11333

    D.11133


    正确答案:C
    C。【解析】本题考查的是析构函数和对象的生存期。在主函数中,首先定义了一个DA类对象数组d,从初始化列表中可以看出,它包含三个对象;然后通过new运算符动态创建了一个DA类的对象数组,并将首地址赋给DA类指针P;接着通过delete[]运算符销毁指针P所指向的数组,故此时会输出11。最后函数结束,销毁前面定义的对象数组d,会输出333。故最后的输出结果是11333。

  • 第5题:

    00330038003000301585067361821下列程序段执行结果是___________。 x = 1 print(type(x)) x = 1.0 print(type(x)) x = '1.0' print(type(x)

    A.<class 'int'> <class 'float'> <class 'str'>

    B.<class 'float'> <class 'int'> <class 'str'>

    C.<class 'str'> <class 'float'> <class 'int'>

    D.<class 'str'> <class 'int'> <class 'float'>


    A