可做奧鵬院校所有作業(yè),畢業(yè)論文,咨詢請?zhí)砑観Q:3230981406 微信:aopopenfd777
離線考核
《C++程序設(shè)計》
一、更多答案下載:(www.)(每題10分,共40分。)
1.什么是類?什么是對象?對象與類的關(guān)系是什么?
2.什么是多態(tài)性?請舉例說明。
3.虛函數(shù)是否一定要有virtual關(guān)鍵字?什么叫純虛函數(shù)和抽象類?多態(tài)調(diào)用需要滿足怎樣的條件?
4.簡述結(jié)構(gòu)化的程序設(shè)計、面向?qū)ο蟮某绦蛟O(shè)計的基本思想。
二、程序分析題(每題10分,共40分。)
1. 指出下列程序中的1處錯誤,并說明為什么。
class Location {
int X,Y=20;
protected:
int zeroX,zeroY;
int SetZero(int ZeroX,int ZeroY);
private:
int length,height;
public:
void init(int initX,int initY);
int GetX( );
int GetY( );
};
答:
2.指出下列程序中的1處錯誤,并說明為什么。
#include<iostream.h>
#include<stdlib.h>
class CTest{
public:
const int y2;
CTest(int i1, int i2,int i3):y1(i1),y2(i2)
{ x=i3; }
int show() const{cout<<"y1="<<y1<<"\ny2="<<y2<<"\nx="<<x<<endl;}
//…
private:
int x;
const int y1;
};
void main()
{
CTest c(1,2,3);
c.show();
c.y2 = -2;
c.show();
}
答:
3.寫出下面程序的輸出結(jié)果。
#include <iostream.h>
class B
{ int b;
public:
B(int i) {b=i;}
virtual void virfun() {cout<< "B::b: "<<b<<" , ";}
};
class D: public B
{ public:
D(int i,int j): B(i) {d=j;}
void virfun() {B::virfun(); cout<<"D::d: "<<d<<endl;}
private: int d;
};
void fun(B *objp) { objp->virfun(); }
void main() { D *pd=new D(3,5) ; fun(pd);}
答:
4. 寫出下面程序的運行結(jié)果。
#include<iostream.h>
class example
{
public:
example(int n)
{
i=n;
cout<<"Constructing\n";
}
~example()
{ cout<<"Destructing\n"; }
int get_i()
{ return i; }
private :
int i;
};
int sqr_it(example o)
{ return o.get_i()*o.get_i(); }
main ()
{
example x(10);
cout<<x.get_i()<<endl;
cout<<sqr_it(x)<<endl;
return 0;
}
答:
三、完成程序題(更多答案下載:(www.)10分,共20分。)
1.請在下面程序的橫線處填上適當內(nèi)容,以使程序完整,并使程序的輸出為5。
#include<iostream.h>
class Integer
{
int x;
public:
Integer(int a=0){x=a;}
void display( ){cout<<x<<endl;}
① ;
};
Integer Max(Integer a,Integer b)
{
if(② )
return a;
return b;
}
void main( )
{
Integer a(3),b(5),c;
c=Max(a,b);
c.display( );
}
2. 設(shè)計一個三角形類Triangle,包含三角形三條邊長的私有數(shù)據(jù)成員,另有一個重載運算符“+”,以實現(xiàn)求兩個三角形對象的面積之和。