C 试题 (1)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++程序设计试题

1、请解释以下定义的对象的区别(10分):

int a=1024; int *p=&a; int *pt=new int(1024); int *pa=new int[1024];

2、以下语句段正确的是 。(5分)

3、写出以下程序的运行结果:a ) b ) c ) (5分)

4、为什么以下重载的fun 函数调用具有二义性?(10分)

5、Tstring 类用于实现对字符串的管理,请完成成员函数的定义。(18分)

class Tstring{

char *str;

int len;

public:

Tstring(const char *ps);

~Tstring( );

Tstring(const Tstring & source);

Tstring& operator=(Tstring& it);

Tstring& operator=(const char * ps);

Tstring& operator+( Tstring& it);//实现字符串连接

};

a) int a; int *pi=&a; void *pv=pi; const int *pci=&a; pv=pci; b) int a; int *pi1=&a; void * pv=pi1; int *pi2=pv; c) int a=6,b=7; const int *pc=&a; pc=&b; b=8; d) int k=10,j;

int *const pic=&k; *pic=8;

pic=&j;

a) void fun(int &x) { x=x+1;} int main( ) { int a=9; fun(a); cout<

cout<

6、有以下类的继承关系和main 函数,请填空。(8分)

int main( )

class A{ int a; public: … virtual void fun1( ); virtual void fun2( ); void fun3( );}; class AB:public A{

int c;

public:

virtual void fun1( );

virtual void fun4( );

void fun3( );};

{ A a1,*pa;

AB ab1;

a1=ab1;

pa=&ab1;

A& ra=ab1;

ra.fun1( ); //此处调用的是类(A或是AB)中定义的fun1函数。

pa->fun3( ); //此处调用的是类(A或是AB)中定义的fun3函数。

a1.fun1( ); //此处调用的是类(A或是AB)中定义的fun1函数。

ab1.fun3( ); //此处调用的是类(A或是AB)中定义的fun3函数。

return 0;}

7、设计二维整型数组类,实现构造函数、析构函数;希望以对象(行下标,列下标)的

形式引用数组元素,完成operator( )运算符重载函数。(12分)

class Intarray{

int* pa;

int size;

public:

Intarray(int row,int Colu);

~ Intarray( );

int& operator( )(int r ,int c) ;

};

8、设计一维数组类模板,完成其成员函数的定义。(18分)

template

class array{

Type* pa;

int size;

public:

array(int maxsiz);

array(array& it);

array& operator= ( array< Type>& rhs);

Type& operator[ ](int index);

Type max( );

~ array( );};

9、设计带异常处理的栈类(stack)的异常类,栈内存放数据为int类型,能处理数据入栈时栈满、数据出栈时栈空异常,请完成其构造函数、析构函数和成员函数。(14分)

class iStack{

int *pa;

int top;//指示栈顶位置

int capacity;//栈的容量

public:

iStack(int maxsize);

iStack(int *a,int n,int maxsize); //用已存在的一维数组来初始化void pop(int& tva); //入栈

void push( ); //出栈

~ iStack( );};

相关文档
最新文档