没有合适的资源?快使用搜索试试~ 我知道了~
C++复习题1.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 63 浏览量
2023-02-27
19:50:18
上传
评论
收藏 375KB PDF 举报
温馨提示
试读
14页
.
资源推荐
资源详情
资源评论
一、概念题
1.类和对象有什么区别和联系?
2.什么是类的实现?
3.this 指针的概念是什么?
4.为什么要引入构造函数和析构函数?
5.什么时候需要自定义拷贝构造函数?若程序员没有定义拷贝构造函数,则编译器自动生
成一个缺省的拷贝构造函数,它可能会产生什么问题?
6.什么是堆对象?创建和回收堆对象的方法是什么?
7.为什么需要静态数据成员?静态数据成员的定义和初始化方法是什么?
8.什么是静态成员函数?静态成员函数和非静态成员函数有什么区别?
9.结构 struct 和类 class 有什么异同?
10.比较类的三种继承方式 public、protected、private 之间的区别。
11.派生类构造函数和析构函数执行的次序是怎样的?
12.什么叫虚基类?有什么作用?
13.什么是多态性,在 C++中是如何实现多态的?
14.什么是抽象类,其有何作用?抽象类的派生类是否一定要给出纯虚函数的实现?
15.在 C++中能否声明虚构造函数,为什么?能否声明虚析构函数,有什么作用?
16.典型的 Windows 应用程序结构有哪些?
17.什么是消息?什么是消息映射?
18.文档类的主要作用是什么?视图类提供的主要函数有哪些?
19.简述利用 ClassWizard 是如何添加消息映射函数的。
20.非模式对话框和模式对话框有何区别?
二、填空题
1.拷贝构造函数使用______作为参数初始化创建中的对象。
2.在 C++中,对于构造函数和析构函数来说,______是可以重载的,而______是不可以重
载的。
3.B 类中包含一个 A 类的成员 a,则生成 B 类的对象时构造函数的调用顺序为______。
4.类的每一个成员函数(静态成员函数除外)都有一个隐含的参数,叫做______。假设类
名为 A,则该参数的类型为______。
5.类的静态成员分为______和______。
6.声明友元的关键字是______。
7.如果类 A 继承了 B,则类 A 称为______,类 B 称为______。
8.派生类对基类的继承有三种方式:______、______和______。
9.如果只想保留公共基类的一个拷贝,就必须使用关键字________把这个公共基类定义为
虚基类。
10.派生类的成员有两种来源,即______和______。
11.要想访问基类的 private 成员变量,只能通过基类提供的______进行间接访问。
12.重载运算符应仍保持其原有的操作数个数、结合性和______。
13.对于双目运算符,若重载为类的成员函数,有______个参数;若重载为友元函数,则有
______个参数。
14.后缀"++"重载为类的成员函数(设类名为 A)的形式为______,重载为类的友元函数(设
类名为 A)的形式为______。
15.设有一时间类 Time,现欲用成员函数方法重载运算符+,实现一个时间与一个整数的相
加运算,所得结果为一个新时间,则成员函数的声明语句为______。
16.C++语言支持的两种多态性分别是编译时的多态性和______的多态性。
17.联编有两种方式,即______和______。
18.抽象类必须至少包含一个______。
21.Windows 系统中消息的主要类型有______、______和______。
22.当用户在窗口中按下鼠标左键时,Windows 系统就会自动发送______消息给该窗口,如
果程序要对此消息作出反应,则程序中应包含类似______函数。
23.OnDraw()函数有一个指向______类的指针参数,通过该参数可以直接向视图输出。
24.应用程序将任何东西画到设备中之前,必须明确索取一个______。
25.对话框分为______和______两种。
26.对话框的初始化工作一般在______和______中完成。
27.MFC 中公用对话框有______、______、______、______和______。
28.视图派生类可以选择______类作其基类,可以实现文本编辑功能。
29.对于文档类,数据成员的初始化工作是在______函数中完成的。
30.如果修改了文档类中的数据,并要求重新显示,要用______或______发出重画消息,引
起对 OnDraw()的调用。
31.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到
______的开始位置。
32.假定 x 和 y 为整型,其值分别为 16 和 5,则 a/y 和 double(x)/y 的值分别为______ 和
______。
33.strlen(“apple”)的值为______。
34.C++程序运行时的内在空间可以分为全局数据区,堆区,栈区和______区。
35.假定 a 是一个一维指针数组,则 a+i 所指对象的地址比 a 大______字节。
36.如果一个派生类只有一个唯一的基类,则这样的继承称为______。
37.假定 AA 是一个类,“AA * abc()const;”是该类中的一个成员函数的原型,在该函数体中
______向*this 或其成员赋值。
38.假定用户没有给一个名为 AB 的类定义构造函数,则系统为其定义的构造函数为______。
39.假定用户为类 AB 定义了一个构造函数“ AB(int aa){a=aa;}”,该构造函数实现对数据
______的初始化。
40.作为类的成员函数重载地个运算符时,参数表中只有一个参数,说明该运算符有______
个操作数。
41.C++有两种联编方式,其中在程序编译时的联编叫做______联编
42.虚函数可以是另一类的______函数
43.定义虚函数需要用______关键字
44.将函数“void vf()”定义为纯虚数的格式是 virtual void vf()______
45.拥有纯虚函数的类就是______,该类不能产生类的实例
46.派生类没有重载基类的纯虚函数,则此派生类也是______
47.有如下程序
#include <iostream.h>
class CSAI_A
{
public:
virtual void fun(){cout<<"A";}
};
class CSAI_B:public CSAI_A
{
public:
virtual void fun(){CSAI_A::fun();cout<<"B";}
};
void main()
{ CSAI_A *p=new CSAI_B;
p->fun();
delete p;
}
执行这个程序的输出结果是()答案:______
48. 有如下程序
#include<iostream.h>
const int T=8;
void main()
{
int i,s=0;
for(i=1;i<=T;i++){
s+=i*i;
cout<<s<<' ';
}
cout<<endl;
}
运行结果:______
49. 有如下程序
int ff(int x,int y){
int z;
cout<<x<<'+'<<y<<'=';
cin>>z;
if(x+y==z) return 1;
else return 0;
}
函数功能:______
50. 有如下程序
char *f(char *s){
int n=strlen(s);
char * r=new char[n+1];
for(int i=0;i<n;i++)
if(s[i]>='a' && s[i]<='z')r[i]=s[i]-'a'+'A';
else r[i]=s[i];
r[n]='\0';
return r;
}
函数功能:______
51.C++虚函数有两种调用方式,分别是______和多态调用方式
剩余13页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6532
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功