C++期末考试题及答案

loading 分享 2026-8-25 下载文档

. 4、 C++继承是如何工作的? 解答要点:

继承使得派生类能够使用基类的公有和保护成员,从而实现代码的复用,派生类可以增加成员,也可以隐藏和覆盖基类的成员。对于公有继承,基类成员的访问权限在派生类保持不变。

5、 类与对象有什么区别? 解答要点:

类是类型,是对象的抽象,对象是类的具体实例。一个类可以有多个对象,每个对象都有自己的存储单元,而类不占存储单元。

三、运行结果为: D::virfun() called.

四、填空

① char * ② argv[1] ③ *str++

五、(8分) 定义一个字符栈类Stack(包括类的实现)。数据成员包括一个存放字符的数组stck[ ]和一个栈指针tos。栈数组的尺寸由常量SIZE确定。栈的基本操作为Push()和Pop()。 const int SIZE=27; class Stack { public:

Stack():tos(0){}; void Push(char ch); char Pop(); private:

char stck[SIZE]; int tos; };

void Stack::Push(char ch) {

if(tos==SIZE)

cout<<\ else{

stck[tos]=ch;tos++; } }

char Stack::Pop() {

if(tos==0){

cout<<\

6 / 7

. return 0; } tos--;

return stck[tos]; }

六、(10分)完成下面的函数,对有n个元素的数组a,使数组元素按逆序排列。 void inverse(int *a, int n) { }

int i,*p; p=new int[n]; for(i=0;i<=n-1;i++) p[i]=a[i]; for(i=0;i<=n-1;i++) a[i]=p[n-i-1]; delete []p;

七、(12分)下面的函数统计子字符串substr在字符串str中出现的次数,如果substr在str中不出现,则返回值0。请完成该函数。

int str_count(char *substr, char *str) { }

int count=0; char *pChar;

if(substr==NULL||str==NULL) return count; while(*str!='\\0'){ pChar=substr; while(*pChar==*str){ pChar++; if(*pChar=='\\0'){ count++;break; } else str++;

}//Match while(*pCh...) statement str++;

}//Match while(*str...) statement return count;

7 / 7


C++期末考试题及答案.doc 将本文的Word文档下载到电脑
搜索更多关于: C++期末考试题及答案 的文档
相关推荐
相关阅读