( 27 )有如下程序:#include <iostream>using namespace std;class Toy{public:Toy(char* _n) { strcpy (name,_n); count++;}~Toy(){ count--; }char* GetName(){ return name; }static int getCount(){ return count; }private:char name[10];static int count;};int Toy::count=0

题目

( 27 )有如下程序:

#include <iostream>

using namespace std;

class Toy{

public:

Toy(char* _n) { strcpy (name,_n); count++;}

~Toy(){ count--; }

char* GetName(){ return name; }

static int getCount(){ return count; }

private:

char name[10];

static int count;

};

int Toy::count=0;

int mail(){

Toy t1("Snoopy"),t2("Mickey"),t3("Barbie");

cout<<t1.getCount()<<endl;

return 0;

}

运行时的输出结果是

A ) 1

B ) 2

C ) 3

D )运行时出错


相似考题
更多“( 27 )有如下程序:#include &lt;iostream&gt;using namespace std;class Toy{public:Toy(char* _ ”相关问题
  • 第1题:

    有如下程序:includeusing namespace std;class Toy{public:Toy(char*_n){strcpy(name

    有如下程序: #include<iostream> using namespace std; class Toy{ public: Toy(char*_n){strcpy(name,_n);count++;} ~Toy(){count--;} char*GetName( ){return name;} static int getCount( ){return count;} private: char name[10]; static int count; }; int Toy::count=0: int main( ){ Toy tl("Snoopy"),t2("Mickey"),t3("Barbie"); cout<<t1.getCount( )<<endl; return 0; } 程序的输出结果是

    A.1

    B.2

    C.3

    D.运行时出错


    正确答案:C
    解析:静态数据成员是同一个类的不同对象之间的数据共享,无论创建多少个类,均只有一个静态数据成员,通过对静态数据成员的调用,实现了数据共享。本题创建了3个Toy对象,所以调用3次构造函数,count被增加3次,故sount=3。

  • 第2题:

    完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。

    DECLARE

    my_toy_price toys.toyprice%TYPE; CURSOR toy_cur IS

    SELECT toyprice FROM toys WHERE toyprice<250; BEGIN

    ______________ LOOP

    ________________________________________ EXIT WHEN toy_cur%NOTFOUND;

    DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩具单价:' || my_toy_price); END LOOP;

    CLOSE toy_cur; END;


    正确答案:OPEN toy_cur   FETCH toy_cur INTO my_toy_price;  

  • 第3题:

    D盘MyPython文件夹下的toy.py文件的绝对路径是()。

    A.D:MyPythontoy

    B.D:toy.py

    C.toy.py

    D.MyPythontoy.py


    C

  • 第4题:

    有如下程序: #include<iostream> usingnamespacestd; classToy{ public: Toy(char*_n){strcpy(name,_n);count++;) ~Toy( ){count一一;) char*GetName( ){returnname;} staticintgetCount( ){returncount;) private: charname[10]; staticintcount; }; intToy::count=0; intmain( ){ Toyt1("snoopy"),t2("Mickey"),t3("Barbie"); tout<<t1.getCount( )<<endl: return0; ) 运行时的输出结果是( )。

    A.1

    B.2

    C.3

    D.运行时出错


    正确答案:C
    C。【解析】析构函数主要用于最后函数的释放空间。本题在已输出t1.getCount后才调用即不影响所输结果。

  • 第5题:

    阅读下列说明和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里面的实参。