首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

那位帮小弟我朋友做套题,100分

2012-02-22 
那位帮我朋友做套题,100分1.编译器在选择调用哪个版本的重载函数时不以()作为选择依据。A.参数个数B.参数类

那位帮我朋友做套题,100分
1.编译器在选择调用哪个版本的重载函数时不以(     )作为选择依据。
A.参数个数         B.     参数类型           C.     函数名字       D.     函数返回类型
2.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,此时可选用(     )
A.内联函数   B.     重载函数     C.递归调用     D.   嵌套调用
3.(       )不是构造函数的特征
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置缺省参数
D.构造函数必须指定返回类型说明
4.关于虚函数的描述中.(     )是正确的。
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
5.派生类的成员函数对它的基类中( )是不可以访问的。
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员
6.在运行时确定调用那个函数的过程称为(   )
A.静态联编       B.静止联编         C.动能联编       D.动态联编
7.下列有关抽象类的说法不正确的是(   )
A.抽象是不能实例化的
B.抽象类只能做为基类使用
C.抽象类的子类也是抽象类
D.抽象类处于继承类层次结构的较上层

8.一个类的友元函数可以访问该类对象的(   )
A.公有成员       B.   私有成员       C.   保护成员     D.   以上皆可
9.下列C++中关键字与继承无关的是(     )
A.protectedB.   privateC.   classD.   continue
10.有关析构函数说法正确的是(     )
A.析构函数能被继承
B.析构函数名与类名相同
C.定义析构函数时可以指定返回类型为void
D.析构函数在对象生存期结束时被自动调用
三、下面的题目中定义了两个类以及main函数。请写出程序的输出结果并分析结果的正确性。如果有错,如何改正?(10分)
#include   <iostream>
using   namespace   std;

class   Instrument
{
public:
Instrument()     {   cout   < <   "Constructor   of   Instrument "   < <   endl;   }
~   Instrument()   {   cout   < <   "Destructor   of   Instrument "   < <   endl;   }

virtual   void   Play()   {   cout   < <   "Ding   ding   ding… "   < <   endl;   }
};


class   Piano   :   public   Instrument
{
public:
Piano()   {   cout   < <   "Constructor   of   Piano "   < <   endl;   }
~   Piano()   {   cout   < <   "Destructor   of   Piano "   < <   endl;   }
void   Play()   {   cout   < <   "Bang   bang   bang… "   < <   endl;   }
};

void   main()
{
Instrument   *   p   =   new   Piano();

p-> Play();

delete   p;
}
输出结果:


四、下面程序有7行有效代码。请指出其中的错误并加以改正。(10分)
int   swap(int   x,   int   y)                           (1)
{
char   t   =   x;     (2)
x   =   y;     y   =   x;(3)
}

void   main()(4)
{
int   a   =   0,   b   =   3;(5)
swap(a,   b);(6)
return   0;(7)
}


五、请编写一个完整的类来描述二维向量。重载运算符+来求两个向量的和向量,重载运算符*来求两个向量的点积。(注意:两个向量的点积是个实数)(20分)

六、现有一些概念:交通工具、陆上交通工具、飞行器、水上交通工具、汽车、飞机、热气球、船等。请确定它们之间的关系,画出关系图,然后使用继承技术,编写8个类来实现这种关系。(20分)


[解决办法]
1d
2a
3d
4c
5c
6d?
7c
8d
9d
10d
------解决方案--------------------


5b 其余正确.
三输出结果是:自己上机试,原因我也在等
四int swap(int x, int y){char t = x; 中改为int swap(int &x, int &y)){int t = x;
其余太多自己做
[解决办法]
1d
2a
3d
4c
5b
6d
7c
8d
9d
10d

1
Constructor of Instrument
Constructor of Piano
Bang bang bang…
Destructor of Instrument
若果说有错的话也就是吧析构函数改成virtual的,输出结果就会是
Constructor of Instrument
Constructor of Piano
Bang bang bang…
Destructor of Piano
Destructor of Instrument



swap应该没有返回值,两个参数应该是引用类型(2个错)
swap的临时变量应该用int,否则会造成数据丢失
交换的最后一步应该是y=t,而不是y=x
main被定义为void,不应该有返回值



class Vec
{
public:
Vec(float x,float y)
{
a=x,b=y;
}
public:
float a,b;
}
Vec& operator+(const Vec& a,const Vec& b)
{
Vec c(a.a+b.a,a.b+b.b);
return c;
}
float operator*(const Vec& a,const Vec& b)
{
return a.a*b.a+a.b*b.b;
}

六....

热点排行