C++复习题(3)

2019-04-23 11:01

??void main() ??{

?? My obj1; //更正_____________________________ ?? obj1.print(); ?? My obj2(3);

?? obj1.member=5; //更正__________________________ ?? My.SetMember(10); //更正_______________________ ?? obj1.print(); ?? obj2.print(); ?}

C++考前复习题集锦(第二部分)

1.一个三口之家,大家都知道父亲会开车,母亲会唱歌,但是只有家里人知道父亲还会修电视机.小孩既会开车又会唱歌也会修电视机,此外小孩还会会打乒乓球.母亲瞒着家人在外面做小工以补贴家用.试编程:

(1)让这三口之家从事一天的活动:先是父亲开车出去,然后母亲去工作(唱歌),母亲下班后去做两小时小工.小孩在俱乐部打球,父亲回家后,再开车玩,后又高兴地唱歌.晚上,小孩和父亲一起修理电视机.

(2)后来父亲的修电视机技术让大家知道了,父亲也经常为邻居修电视机.这时,程序要做什么变化?

2.重新编写以下程序,将函数leisure改为友元 #include class Car{ int size; public:

void setSize(int j){size=j;} int getSize(){return size;} };

class Boat{ int size; public:

void setSize(int j){size=j;} int getSize(){return size;} };

int leisure(int time,Car& aobj,Boat& bobj){ return time*aobj.getSize()*bobj.getSize(); }

int main(){ Car c1;

第 11页共 15页

c1.setSize(2); Boat.b1;

b1.setSize(3);

std::cout<

3.将下列程序中的友元改为普通函数,为此应增加类中访问私有数据的成员函数: class Animal{

int itsWeight; int itsAge;

friend void setValue(Animal&,int,int);

};

void setValue(Animal& ta,int tw,int tn){

ta.itsWeight=tw; ta.itsAge=tn;

}

int main(){

Animal peggy;

setValue(peggy,7,9);

}

4.下面程序错在哪里? #include #include class Point{ protected:

double x; double y;

public:

void Set(double ix,double iy){ x=ix;y=iy;} double xOffset(){ return x; } double yOffset(){ return y; }

double angle(){ return (180/3.14159)*atan2(y,x);} double radius(){return sqrt(x*x+y*y);} };

int main() { Point p;

double x,y;

cout<<”Enter x and y:\\n”; cin>>x>>y; p.Set(x,y); p.x+=5; p.y+=6;

cout<<”angle=”<

<<”,y offset=”<

第 12页共 15页

}

5.为图1设计一个类层次结构,其中的每个类都有构造函数,且有启动、停止操作.编制应用程序,创建大客车和本田小轿车,分别有启动和停止操作,输出一些标志性字串.

交通工具 飞机 汽车 火车 小汽车 工具书 轿车 大卡车 小面包车 大客车 奥迪 本田 6.写出下列程序的运行结果 #include using namespace std; class MyClass{ int number;

宝来

public:

MyClass(); MyClass(int); ~MyClass(); void Display(); };

MyClass::MyClass(){cout<<”Constructing normally.\\n”;} MyClass::MyClass(int m):number(m){

cout<<”Constructing with a number:”<

}

void MyClass::Display()

{ cout<<”Displayanumber:”<

MyClass obj1; MyClass obj2(20); obj1.Display(); obj2.Display();

}

第 13页共 15页

7.写出下列程序的运行结果,请用增加拷贝构造函数的办法避免存在的问题. #include using namespace std; class Vector{

int size; int* buffer;

public:

Vector(int s=100); int elem(int ndx); void display(); void set(); ~Vector();

};

Vector::Vector(int s){ buffer=new int[size=s]; for(int i=0;i

int& Vector::elem(int ndx){ if(ndx<0||ndx>=size){

cout<<”error in index”<

return buffer[indx] }

void Vector::display(){ for(int j=0;j

void Vector::set(){

for(int j=0;j

}

Vector::~Vector(){ delete[]buffer; } int main(){

Vector a(10); Vector b(a);

a. set(); b. display(); }

8.阅读下列程序,写出运行结果,添上一个拷贝构造函数来完善整个程序. #include using namespace std; class CAT{

第 14页共 15页

int* itsAge;

public:

CAT():itsAge(new int(5)){} ~CAT(){delete itsAge;}

int GetAge() const {return *itsAge;} void SetAge(int age){ *itsAge=age;}

};

int main(){

CAT frisky;

cout<<”frisky`s age:”<

cout<<”Creating boots from frisky\\n”; CAT boots(frisky);

cout<<”frisky`s age:”<

cout<<”frisky`s age:”<

}

9.定义一个具有多态性的基类Shape,继承以下一些类:圆Circle类(坐标点和半径构成),长方形Rectangle类(两个不重合的坐标点构成),三角形Triangle类(三个互不重合的坐标点构成).定义一些操作,特别是定义求面积操作.

编制应用程序,按文件内容创建各类对象,放在Shape指针向量中.循环处理向量中的每个元素,求其面积.

第 15页共 15页


C++复习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于PLC的八段数码管数字时钟设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: