Visual_C++面向对象与可视化程序设计期末复习题
面向对象程序设计复习试题(答案)

语法扩充1.1选择题在C++中用(D)能够实现将参数值带回。
a)数组b)指针c)引用d)上述ABC都可考虑函数原型voidtest(inta,intb=7,char*ch="*"),下面的函数调用中,属于不合法调用的是:(C)A)test(5)B)test(5,8)C)test(6,"#")D)test(0,0,"*");已知:intm=10;下列表示引用的方法中,正确的是:(C)A)C)在A)对在A)C)A)C)A)intFunc(int,int,int);B)doubleFunc(int,int);C)doubleFunc(double,double);D)doubleFunc(int,double);下面的哪个保留字不能作为函数的返回类型(C)A)voidB)intC)newD)long一个函数功能不太复杂,但要求被频繁调用,选用(A)。
A.内联函数B.重载函数C.递归函数D.嵌套函数已知函数f的原型为:voidf(int&a,char*b);变量s,t的定义是:ints;chart[]="ABCD";把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是(C)Af(&s,&t);Bf(&s,t);Cf(s,t);Df(s,&t);若定义cin>>str;当输入MicrosoftVisualStudio6.0!所得结果是str=(B)。
A、MicrosoftVisualStudio6.0!B、MicrosoftC、MicrosoftVisualD、MicrosoftVisualStudio6.0.函数模板(C)。
A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D在ABCDAC1.21。
23int*&p=c;p=&b;4、假设有如下函数定义:voidFun(intx,inty=100);则语旬Fun(5)语句__Fun(5,100)_等价。
Visual_C++面向对象与可视化程序设计期末复习题

《VC程序设计》习题一、单项选择题1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为( B )A、2B、3C、4D、52、对于结构中定义的成员,其隐含访问权限为(C )A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的( B )A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是(A )A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
5、下列语句的运行结果为( D )#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类CNum的缺省构造函数和析构函数是( A )A、CNum ( )和~CNum ( )B、CNum (int)和~CNum( )C、CNum ( )和~CNum (delete )D、CNum ( )和int~CNum ( )7、在C++中,若对函数未加说明,则函数的隐含类型是(A )A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则(D )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( B )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( B )A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是( D )A、在Windows中只有一个消息系统,即系统消息队列。
2016_Visual-C++面向对象与可视化程序设计期末复习题(二)

一、选择题2、VC中存在几种系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类,表示按钮控制消息(A)A、BMB、CBC、DMD、EM3、Windows应用程序常用消息,产生单击鼠标左键的消息是(A)A WM_LBUTTONDOWNB WM_RBUTTONUPC WM_RBUTTONDBLCLKD WM_LBUTTONUP4、Windows应用程序常用消息,按下一个非系统键时产生的消息是(B)A WM_RBUTTONUPB WM_KEYDOWNC WM_KEYUPD WM_POPDOWN5、按下一个非系统键时产生的消息WM_ CHAR,存按键的ASCII码信息的是(C)A、1ParamB、WordParamC、wParam D 、ongParam6、关闭窗口时产生的消息(D)A、WM_KEYDOWNB、WM_CREATC、WM_DESTROYD、WM_CLOSE7、由CreateWindow函数发出的消息(B)A、WM_KEYDOWNB、WM_CREATC、WM_DESTROYD、WM_CLOSE由PostQuitMessage函数发出的消息(A)A、WM_QUITB、WM_CREATC、WM_DESTROYD、WM_CLOSE12、在VC中调用函数(A)可以创建自定义字体A、GreateFontB、GreateWFontC、GreateWFontsD、GreateFonts13、输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置,获取当前使用字体信息函数(C)A、GetFontMetricsB、GetFontMetricC、GetTextMetricsD、GetTextMetric14、文本输出函数TextOut(HDC hdc, int X, int Y,LPCTSTR lpstring, int nCount )第四个参数nCount记录的是AA、lpstring中的字符串的字节数B、字符串的长度C、lpstring的长度D、lpstring串的循环次数15、虚拟码是一种与设备无关的键盘编码,它的值存放在键盘消息的( A )参数中A、wParam C、VKB、Param D、VB16、Alt键与相关输入键的组合产生的消息是( A )A、系统按键消息B、非系统按键消息C、空消息D、组合消息17、不使用Alt键组合的的按键消息是( B )A、系统按键消息B、非系统按键消息C、空消息D、组合消息18、一个按键的组合产生了一个可以显示的字符时,就产生了一个( A )A、字符消息B、按键消息C、组合消息D、空消息19、按键消息的变量lParam是( C )变量A 、8位 B、16位 C、32位 D、84位20、在Windows操作系统中预定义了几种光标,IDC-ARROW表示:CA、十字光标B、计时光标C、箭头光标D、I光标21、在Windows操作系统中预定义了几种光标,IDC-SIZEALL表示:CA、十字光标B、计时光标C、十字箭头光标D、I光标22、自定义光标保存在扩展名为( B )的文件中A、txtB、curC、 cuvD、 cui23、鼠标消息中lParam包含的是(B)A、鼠标的键值B、鼠标位置C、虚键状态D、字符码24、POPUP语句定义的是(C)A、主菜单条B、下拉式菜单C、弹出式菜单D、菜单项25、资源描述文件中ACCELERATORS定义的是:DA、菜单B、弹出式菜单C、组合键D、加速键资源26、定义位图的数据结构是(D)A、BITMAPB、CBITMAPC、JPGD、HBITMAP27、资源描述文件中DIALOG定义的是:CA、菜单B、弹出式菜单C、对话框资源D、加速键资源28、图标资源的文件扩展名为.A、curB、cuvC、icoD、icc29、MFC库中的类中根类为DA、CWndB、CMDC、InternetD、CObject30、在MFC中以(C)为前缀的函数(数据库类函数和DDX函数除外)和变量,在目前的版本中,都表示全局函数或全局变量A、AFXB、CDC、AfxD、MFC31、Afx为前缀的函数(数据库类函数和DDX函数除外)和变量中,表示无条件终止一个应用程序的是( A )A、AfxAbortB、AfxBeginThreadC、AfxFormatStringD、AfxMessageBox32、Afx为前缀的函数(数据库类函数和DDX函数除外)和变量中,表示显示一个Windows消息框是( D)A、AfxAbortB、AfxBeginThreadC、AfxFormatStringD、AfxMessageBox33、在MFC中表示窗口类的是(D)A、CDialog类B、CMenu类C、CView类D、CWnd类二、填空题1.vc++6.0工程文件的扩展名是________.dsp_______________。
c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。
《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. 源程序文件的缺省扩展名为( )。
A. B. C. D.2. x>0 5的相反表达式为()。
A. x<=0 5B. x<=0 5C. x>0 5D. x>0 53. 在下面的字符数组定义中,有语法错误的是( )。
A. a[20]=“”;B. a[]=“55.”;C. a[15];D. a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. ( y)B. ( y)C. ();D. ( );5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“ { [40]; ;}; * ;”,则正确的语句是()。
A. (>,””);B. (,””);C. (*,””);D. ((*)->,””);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用表示,包含的指针域用表示,链队的队首指针用表示,队尾指针用表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
A. B.C. 和D. 或10. 假定为一个类,则执行“ a, b(2), c[3], *;”语句时共调用该类无参构造函数的次数为( )。
A. 5B. 6C. 3D. 411. 引入友元的主要目的是为了()。
A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性12. 如果是类B在类A的基础上构造,那么,就称()。
A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类二、填空(每空1分,15小题,共18分)1. 语言是在语言的基础上发展起来的。
面向对象期末考试题及答案

面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
【免费下载】Visual C面向对象与可视化程序设计选择题

A)2、2
B)2、1
C)1、2
D)1、1
16、应在下列程序划线处填入的正确语句是( C )。
class Base
{ public:
void fun(){cout<<"Base::fun"<<endl;} };
class Derived:public Base
{ void fun()
{
//显示调用基类的函数 fun()
D. 非结构化的程序设计语言
2、面向对象程序设计思想的主要特征中不包括( D )。
A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精
3、若定义:string str; 当语句 cin>>str; 执行时,从键盘输入:
Microsoft Visual Studio 6.0!
所得的结果是 str=( B )。
08、执行如下的程序段后,输出结果是( A )。
cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl;
A)###123 B)123### C)***123 D)123***
09、在下列函数原型中,可以作为类 AA 构造函数的是( D )。
B. char &y;
C. int &z=1000;
D. float &t=&a;
7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选
用( A )。
A. 内联函数 B. 重载函数 C. 递归调用
D. 嵌套调用
《面向对象的程序设计》期末试卷(A)答案汇总

电子系计控专业《面向对象的程序设计》期末试卷(A)答案一、选择题(每题1分,共20分)1、如果要改变窗体的标题,则需要设置的属性是 A 。
A. CaptionB. NameC. BackColorD. BorderStyle2、工程文件的扩展名是_C_。
A. frx B. bas C. vbp D.frm3、初始状态下,VB工具箱的控件称为_A_。
A. 标准控件(或内部控件)B. 外部控件C. ActiveX控件D. 可插入对象4、将命令按扭Command1设置为不可见,应修改命令按钮的 A 属性。
A. VisibleB. ValueC. CaptionD. Enable5、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。
用于标识各个控件数组元素的参数是 B 。
A. TagB. IndexC. ListIndexD. Name6、要改变控件的高度,应修改控件的_D_属性。
A. Top B. Left C. Width D. Height7、只能用来显示字符信息的控件是 B 。
A. 文本框 B. 标签 C. 图片框 D. 图象框8、InputBox$(函数返回值的类型为 B 。
A. 数值B. 字符串C. 变体D. 数值或字符串(视输入的数据而定)9、确定复选框是否选中,可访问的属性是_A_。
A. Value B. CheckedC. SelectedD. Caption10、选中复选框时,Value的值为 B 。
A. 0 B.1 C. True D. False11、添加列表框中的项目,应该用列表框的 C 属性。
A. Selected B. Value C. List D. Text12、若要在同一窗体中安排两组单选按扭,可用_D_控件来分隔。
A. 列表框B. 组合框C. 图片框D. 框架13、用户可以通过设置菜单项的_C_属性的值为False来使该菜单项失效。
A. HideB. VisibleC. EnableD. Checked14、在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动事件是 C 。
可视化编程C_复习题

3并能求出平均成绩,要求对该类构造函数进行重载,至少给出三个形式。
最后编程对 Student 类的功能进行验证。
5、编写程序对当前目录下的Exam.txt文件中的“#”之前的所有字符加密,加密方法是每个字节的内容减10。
6、设当前目录下有一个名为Exam.dat的二进制文件,其中连续存放了10个整数。
编程读取其中的奇数编号(从0开始编号)的整数并输出。
(注意:程序中应先生成该文件,并向里面写入10个二进制整数。
)1、设计一个类,类中包含一个方法Calculor()方法,设计该方法若含一个int型参数,则计算该整数的阶乘,若含两个int型参数,则计算这两个整数的最小公倍数(或最大公约数,自选一项即可),若含三个int型参数,则输出三个数中的最大值。
2、编写程序对当前目录下的Exam.txt文件中的“#”之前的所有字符加密,加密方法是每个字节的内容减10。
(注意:程序中应先生成该文件,并向里面写入内容。
)3、编写出一个通用人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。
然后通过对Person类的继承得到一个学生类(Student),该类能够存放学生的5门课程的成绩,并能求出平均成绩,要求对该类构造函数进行重载,至少给出三个形式。
最后编程对 Student 类的功能进行验证。
4、设当前目录下有一个名为Exam.dat的二进制文件,其中连续存放了10个整数。
编程读取其中的奇数编号(从0开始编号)的整数并输出。
(注意:程序中应先生成该文件,并向里面写入10个二进制整数。
)参考答案(略):只要合理即酌情给分!10。
Visual C++面向对象与可视化程序设计部分习题答案(清华大学出版社)

1-1答:C++语言基本数据类型有bool型、char型、int型、float型、double型。
除了bool型外,这些数据的定义分为两大类:整型和浮点型。
Char从本质上说也是整型,它是长度为1字节的整型,通常用来存放字符的ASCII码。
1-2答:在面向对象的程序设计中,函数是模块划分的基本单位,是程序设计中的基本抽象单元,是对功能的抽象。
一个复杂的系统往往需要划分为若干个子系统,然后再进行复杂的开发和调试。
通常我们将相对独立的、经常使用的功能抽象为函数。
使用函数时可以只考虑韩式的使用方法而不必担心它的具体实现。
这样有利于代码的重用,可以提高程序的开发效率,方便程序的维护。
1-3C++语言中所有的数据基本上都可以定义为指针类型,定义的方法很简单:在申明时在申明的变量前加“*”即可。
1-4类是C++程序的精华,是进行封装和数据隐藏的工具。
通过它把逻辑上相关的尸体联系起来,并具备从外部对这些尸体进行访问的手段。
格式如下:Class{private:似有成员数据及函数;protected:保护成员数据及函数;public:公共成员数据及函数;}类的对象申明;1-5构造函数是一个特殊的成员函数,它主要用来为对象分配内存空间,对类的成员进行初始化并执行对象的其他内部管理操作。
构造函数的特点是他的名字同类名相同,当定义该类的对象时,自动调用该函数完成对该对象的初始化操作,构造函数可以重载。
构造函数的创建和其他函数基本相同但有以下特点:无返回值,可以带参数也可以不带参数,在实际应用中如果没有给类定义构造函数,系统会自动生成一个默认的构造函数,该函数没有参数,只是把对象中的每个是咧变量初始化为0.析构函数也是累中的特殊成员,与定义它的类有相同的名字,但要在前面加上~。
析构函数没有参数也没有返回值。
它不能重载,因此一个类中只能有一个析构函数。
析构函数执行造函数相反的操作,通常用来释放分配给对象的存储空间。
当程序超出对象的作用域时,或者当对一个指针惊醒delete操作时,系统将自动调用析构函数。
面向对象程序设计》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( D )。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是( C )。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正确的。
VisualC++面向对象与可视化程序设计选择题

VisualC++面向对象与可视化程序设计选择题《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。
)01、下列关于C++函数的叙述中,正确的是( C )。
A)每个函数至少要具有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。
A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( D)。
A)内联函数B)重载函数C)模板函数D)虚函数04、下列关于运算符重载的叙述中,正确的是( B )。
A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句cout<<x<<="" d="" p="">A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( B )。
class MyBASE{ private: int k;public: void set(int n){ k=n;}int get( )const{ return k;} };class MyDERIVED: protected MyBASE{ protected: int j;public: void set(int m, int n){ MyBASE::set(m); j=n;}int get( ) const { return MyBASE::get( )+j; } };A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。
c面向对象程序设计期末考试题及完整参考答案

3)
4)
5)
6)
01223,王五,男,35岁
7)
洛阳理工学院
参考答案及评分标准
课程:
一、填空题(每空1分,共20分)
1.属性操作
2.泛化依赖泛化
3.命名空间 主程序方法 程序集
4.值类型委托类接口
5.方法名称参数列表
6.构造
7.整数字符串
8.显式私有
9.静态
二、判断题(每小题1分,共5分)
1.V2.V3.V4.V5.X
A)st.read() B)st::read() C)Student.read() D)Student::read()
四、简答题(每小题5分,共15分)
1.在面向对象的模型中,什么是类的多态性?C#是如何实现类的多态特性的?
2.
3.
五、
分)
1.
class Circle
{
protected float _r;〃圆的半径
三、选择题(每小题2分,共10分)
1.在设计一个类时,如果不希望外部对象访问该类成员,应定义为()。
A)私有的或保护的B)公有的C)保护的或者共有的D)公有的或者私有的
2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
学院
考试时间:120分钟
一、填空题(每空1分,共20分)
1.客观世界中的事物都是对象。对象具有自己的,用来描述对象的静态特征;而对象的用于描述对
象的动态特征。
2.在面向对象的模型中,对象之间的关系可在类级别上概述为聚合、、口一般关联等四种。其中基
类和派生类之间的关系属于关系。
Visual_C++程序设计-期末试题及答案

Visual C++程序设计-期末试题及答案一、选择题(每题1分,共5分)1 MFC主要由()组成。
A.基础类库、全局函数 B. 基础类库、全局变量、宏C.基础类库、全局函数、宏D.基础类库全局函数全局变量和宏2 应用程序对象CProgramApp是程序执行的最重要部分,( )均由其完成。
A.程序的初始化、运行和结束工作 B。
消息的发送和执行C.程序的框架、窗口 D。
事件的发生与处理3 当消息产生时,系统调用CWinApp的()函数对消息进行解析,并发送到相应的窗口进行处理。
A.Run B Create C TranslateMessage D DispatchMessage4 对于在屏幕上的绘制,通常使用()对象,而对于打印机设备上下文,则使用()对象来完成。
A.CDC,CWindowsDC B。
CWindowsDC, CDCC.CWindowsDC,CPaintDC D。
CDC,CPaintDC5 ( )对象表示一个点的位置,()对象表示相对的距离的尺寸,()对象表示一个矩形区域。
A.CPoint类,CRect类,CSize类 B。
CSize类,CPoint类,CRect类C.CRect类,CSize类,CPoint类 D。
CPoint类,CSize 类,CRect类二、填空题(每空1分,共20分)1 消息是应用程序初始化时,Windows发送给视图的第一条消息。
2 用于定时向应用程序发送消息,使程序动作在指定的时间间隔周期性执行。
3 对话框是由一个特殊的、可以接收消息的,它具有的基本特性。
4 对话框主要由两部分组成:和。
5 Visual C++ 6.0集成开发环境中提供的资源有、、、、、和等。
6 CGdiObject及其派生类封装了Windows提供的绘图工具有,,和等。
7 文档是数据的载体,管理及维护数据,支持并实现数据的操作。
视图是数据的表现,视图实现了数据的,并对数据的提供了支持。
一、选择题(每题1分,共5分)1D 2A 3A 4B 5D二、填空题(每空1分,共20分)1. WM_CREATE2. 定时器消息WM_TIMER3. 窗口,窗口 4。
Visual_C++面向对象与可视化程序设计重要题目

一、选择填空(每小题2分,计16小题,共32分)1、对类的构造函数和析构函数描述正确的是___ ____。
BA) 构造函数不能重载,析构函数可以重载B)构造函数可以重载,析构函数不能重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载2、在C++中,数据封装要解决的问题是__ ____。
DA)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问3、对于拷贝构造函数,正确的描述是___ _____。
AA)在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数B)必须为每个类定义拷贝构造函数C)如果要使用拷贝构造函数,则必须在类中先定义D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数4、继承具有_____,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
B A)规律性B)传递性C) 重复性D)多样性5、一个类的友元函数或友元类能够通过成员操作符访问该类的_____ ___。
BA)私有成员B) 所有成员C)公用成员D) 保护成员6、关于纯虚函数和抽象类的描述中,错误的是_______。
CA)纯虚函数是一种特殊的虚函数,它没有具体的实现B)抽象类是指具有纯虚函数的类C)一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类D)抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出7、__①___提供了类对外部的接口, __②____是类的内部实现,而__③___不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。
A)公有成员B)私有成员C)私有成员函数D)保护成员【参考答案】:A、C、D8、关于C++语言和C语言的关系的下列描述中,错误的是________。
BA)C语言是C++语言的一个子集B)C语言和C++语言都是面向对象的语言C)C++语言与C语言兼容D)C++语言对C语言做了些改进9、组成C++语言程序的是_______。
C面向对象程序设计重点复习

面向对象程序设计复习题一、单项选择题1.下面关于对象概念的描述中,_______是错误的;BA.对象代表着正在创建的系统中的一个实体B.对象就是C语言中的结构体变量C.对象是一个状态和操作或方法的封装体D.对象之间的信息传递是通过消息进行的2. 继承机制的作用是: CA.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是_________DA.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是__________AA.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是__________;CA.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是________;Cshow=0; void show;void show=0; show=0 virtual;7.下面关于友元的描述中,错误的是_________;DA.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,_________运算符不能重载;BA. +B.: D.<=9.下列关于运算符重载的描述中,________是正确的;DA.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10. 在下列函数原型中,可以作为类AA构造函数的是_________DA.void AAint ; B.int AA ; C.AAintconst; D.AAint;11.在声明类时,下面的说法正确的是_________;CA.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是register,public,protected可以按任意顺序出现D.没有用private,public,protected定义的数据成员是公有成员12.继承具有________,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员;BA.规律性B.传递性C.重复性D.多样性13.在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则___________;AA.完全相同B.完全不同C.部分相同,部分不同D.以上都不对14.对虚函数的调用__________;DA.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编15.关于成员函数特征的下述描述中,_______是错误的;AA.成员函数一定是内置函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的16. 下面关于c++语言变量的叙述错误的是_______BA.在c++语言中变量分为auto,static,extern和register四种存储类型B.自动变量和外部变量的作用域为整个程序C.内部变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件17.下列的各类函数中,_______不是类的成员函数;CA.构造函数B.析构函数C.友元函数D.拷贝构造函数18. 有如下类声明:class Foo {ing bar ;};则Foo类的成员bar是_________CA.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数19.下列表示引用的方法中,__________是正确的;已知:int m=10; DA. float &t=&m; &y=10; &z; D. int &x=m;20.设置虚基类的目的是________;BA.简化程序B.消除二义性C.提高运行效率D.减少目标代码21.对于类中定义的成员,其隐含访问权限为________B22.关于类和对象不正确的说法是________ BA.类是一种类型,它封装了数据和操作B.一个类的对象只有一个C.对象是类的实例D.一个对象必属于某个类23.声明一个类的对象时,系统自动调用一个函数___c___;撤消对象时,系统自动调用一个函数;该函数为___c___A.成员函数;构造函数B.复制构造函数;析构函数C.构造函数;析构函数D.析构函数;复制构造函数24.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的__A______ 成员成员成员 D.友元25.在C++中,要实现动态联编,必须使用_____D___调用虚函数A.类名B.派生类指针C.对象名D.基类指针26.若一个类中含有纯虚函数,则该类称为____A____A. 抽象类B. 纯基类C.派生类D. 基类27.下列关于this指针的叙述中,正确的是___D_____A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数才有this指针28.有如下类声明:class Book {int num ;};则Book类的成员num是___D_____A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数29.下面有关重载函数的说法中正确的是___C_____A.重载函数必须具有不同的返回值类型;B.重载函数形参个数必须不同;C重载函数必须有不同的形参列表; D.重载函数名可以不同;30.设置虚基类的目的是___A_____A.消除二义性B.简化代码C.提高运行效率D.减少目标代码31.在C++语言程序中,对象之间的相互通信通过___B_____A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现32.下列运算符中,在C++语言中不能重载的是__C______A. B.>= C.:: D./33.下面对友元函数描述正确的是___C_____A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员34.下面叙述不正确的是___A_____A.基类的保护成员在派生类中仍然是保护成员B.基类的保护成员在公有派生类中仍然是保护成员C.基类的保护成员在私有派生类中是私有成员D.对基类成员的访问必须是无二义性35.下面对静态数据成员的描述中,正确的是___D_____A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用36.在C++类语言体系中,不能被派生类继承的有_______BA.转换函数B.构造函数C.虚函数D.静态成员函数37.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是____C____A.友元函数B.虚函数C.构造函数D.析构函数38.下列关于虚基类的描述中,错误的是_B_______A.设置虚基类的目的是为了消除二义性;B.虚基类的构造函数在非虚基类之后调用;C.若同一层包含多个虚基类,这些基类的构造函数按照它们的次序调用;D.若虚基类由非基类派生而来,则仍然先调用基类构造函数,再用派生类的构造函数;39.考虑函数原型voidtestinta,int b=7,char="",下面的函数调用中,属于不合法调用的是___C_____A. test5 5,8 6,"" 0,0."";40.下列关于构造函数的描述中,错误的是___D_____A.构造函数可以设置默认参数;B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数;D.构造函数不可以重载41.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是 ; DA.一元成员运算符 B.二元成员运算符 C.一元友元运算符 D.选项B和选项C都可能42.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是 ; CA.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针43.下面关于虚函数的描述,错误的是 ; BA.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现44.定义派生类时,若不使用关键字显示地规定采用何种继承方式,则默认方式为 ; AA.私有继承 B.非私有继承 C.保护继承 D.公有继承45.有如下程序:includeusing namespace std;class ONE{int c;public:ONE:c0{cout<<1;}ONEint n:cn{cout<<2;}};class TWO{ONE onel;ONE one2;public:TWOint m:one2m{cout<<3;}};int main{TWO t 4 ;return 0 ;}运行时的输出结果是 ; CA.3B.23C.123D.21346.关于静态数据成员的描述中正确的是DA类的静态数据成员不是类的所有对象共享的数据B类的静态数据成员不能被类的成员函数调用C类的静态数据成员不能被类的构造函数调用D类的静态数据成员必须进行初始化47下面正确的是,在父类中的访问属性访问修饰符在子类中的访问属性CApublic,private不能直接访问 Bprotect,public,publicCprivate,public不能直接访问 Dprotect,private,protect48类A是类B的友元,类B是类C的友元,则下列说法正确的是DA类B是类A的友元B类C是类A的友元C类A是类C的友元D以上都不对49下列关于构造函数说法不正确的是CA构造函数必须与类同名 B构造函数可以省略不写C构造函数必须有返回值 D在构造函数中可以对类中的成员进行初始化50.类的析构函数的作用是DA一般成员函数的初始化 B类的初始化C对象的初始化D删除类创建的对象51.下列说法正确的是BA内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C类的内联函数必须在类体内定义D类的内联函数必须在类体外通过加关键字inline定义52.下面对静态数据成员的描述中,正确的是DA静态数据成员可以在类体内进行初始化B静态数据成员不可以被类的对象调用C静态数据成员不能受private控制符的作用D静态数据成员可以直接用类名调用二、知识点1.实现运行时的多态性要使用虚函数;2.如果一个类至少有一个纯虚函数,那么就称该类为抽象类;3. 运算符重载不能改变操作符的个数、运算符的优先级、运算符的结合性和运算符的语法结构;4. 构造函数是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作;5. 静态成员函数不能直接引用类中说明的非静态成员;6. 引用是给对象取一个别名,它引入了对象的同义词;7.设置友元函数的目的是为能够访问该类的私有成员;8.运算符重载仍然保持原来的优先级、结合性和语法结构;9.基类的私有成员不能被派生类的成员访问;10.静态联编支持的多态性称为编译时的多态性,也称静态多态性;11.任何类中允许有三种访问权限的数据,这三种访问权限分别是public、private、protected;12.为了满足运算符“+”的可交换性,必须将其重载为友元函数;13.对于含有对象成员的派生类,其构造函数的执行顺序为:先执行基类的构造函数、再执行对象成员的构造函数,后执行派生类的构造函数;14.利用成员函数对双目运算符重载,其左操作数为this指针指出的对象,右操作数为成员函数参数;++允许在相同的作用域内以相同的名字定义几个不同实现的函数,称这种同一个函数名多个含义的现象为函数重载;16.通过使用new和delete两个运算符进行的分配为动态存储分配;17.当类定义中有数据成员为指针时,解决浅拷贝出现的运行错误的方法是编写拷贝构造函数;18.如果使用protected继承基类,其公有成员就会变成派生类的保护成员,其保护成员就会变成派生类的保护成员,其私有成员不能继承19.一个函数功能不太复杂但要求被频繁调用,应定义为内联函数;20.抽象类只能作为基类使用,而不能声明它的对象;21.构造函数可以重载,析构函数不可以重载;22.静态成员函数没有this指针;23.类有两个特殊的成员函数构造函数和析构函数;24.在表达式x+yz中,+是作为成员函数重载的运算符,是作为非成员函数重载的运算符;其中operator+有一个参数,operator有两个参数;25.一个派生类只有一个基类的情况称为单继承,而有多个直接基类的情况称为多继承;26.调用析构函数的次序正好与调用构造函数的次序相反;27. 非成员函数应说明为类的友元函数才能访问这个类的private成员;28. 通过使用new和delete两个运算符进行的分配为动态存储分配;29.如果类B继承了类A,则称类A为类B的基类,类B称为类A的派生类30. 表达式operator+x,y还可以表示为x+y ;31 C++语言中的多态性分为编译时的多态性和运行时的多态性;32将x+yz中的"+"用成员函数重载,""用友元函数重载,应解释为x. operator+operatory,z33如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是friend void A ;34派生类的成员一般分为两部分,一部分是从基类继承的成员,另一部分是自己定义的新成员;35继承的方式有公有继承、私有继承和保护继承3种;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《VC程序设计》习题一、单项选择题1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为( B )A、2B、3C、4D、52、对于结构中定义的成员,其隐含访问权限为(C )A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的( B )A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是(A )A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
5、下列语句的运行结果为( D )#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类CNum的缺省构造函数和析构函数是( A )A、CNum ( )和~CNum ( )B、CNum (int)和~CNum( )C、CNum ( )和~CNum (delete )D、CNum ( )和int~CNum ( )7、在C++中,若对函数未加说明,则函数的隐含类型是(A )A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则(D )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( B )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( B )A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是( D )A、在Windows中只有一个消息系统,即系统消息队列。
消息队列是一个系统定义的数据结构,用于临时存储消息。
B、系统可从消息队列将信息直接发给窗口。
另外,每个正在Windows下运行的应用程序都有自己的消息队列。
C、系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。
应用程序的消息对列中存储了程序的所有窗口的全部消息。
D、以上都正确12、一个视图对象能连接( A )文档对象,一个文档对象能连接()视图对象。
A、一个,多个B、多个,一个C、一个,一个D、多个,多个13、MFC类库中的类按层次关系可知,CStatic 的直接父类为( B )A、CObjectB、CWndC、CcmdTargetD、CFrameWnd14、可以利用控件的(C )属性和Tab键顺序来为控件分组。
A、IDB、Tab stopC、GroupD、Caption15、根据对话框的行为性质,对话框可以分为两类:(B )A、对话框资源和对话框类B、模式对话框和非模式对话框C、对话框资源和对话框模板D、消息对话框和模式对话框16、以下控件中,(C )没有Caption属性。
A、按钮B、群组框C、编辑控件D、静态控件17、菜单项助记符前用( B )引导。
A、%B、&C、#D、$18、更新菜单状态的消息是(C )。
A、WM_COMMANDB、UPDATEC、ON_UPDA TE_COMMAND_UID、INVALIDATE19、关于工具栏、菜单和加速键的关系,正确的说法是( C )。
A、工具按钮与菜单必须一一对应B、工具按钮与加速键一一对应C、工具按钮不必与菜单一一对应D、菜单与加速键一一对应20、使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用( A )释放设备上下文。
A、ReleaseDC( )B、delete( )C、DeleteDC( )D、Detach( )21、在面向对象编程中,对象的抽象集合称为(C )。
A、对象B、集合C、类D、实例22、实现运行时的多态性,必须通过( A )来完成。
A、虚函数B、重载函数C、构造函数D、析构函数23、在类外定义类的成员函数时,应当使用( B )来标识该函数为特定类的成员。
A、:B、::C、->D、this24、下面( A )是函数重载。
A、void play(int) 和void play(float)B、play( ) 和~play()C、void play(int) 和int play(int)D、void play( ) 和int play( )25、Windows操作系统主要基本内核元件中,___B____支持与操作系统密切相关的功能:如进程加载、文本切换、文件I/O以及内存管理、线程管理等。
()A、GDIB、KERNELC、USERD、以上都不是。
26、所有的控件都是(B ) 类的派生类,都可以作为一个特殊的窗口来处理。
A、CViewB、CWndC、CWindowD、CDialog27、设置编辑控件的文本内容,可使用函数( A )A、SetWindowText( )B、SetSel( )C、ReplaceSel( )D、GetWindowText( )28、MFC中的集合类包括(C )。
A、对象、列表和映射B、数组、列表和对象C、数组、列表和映射D、数组、列表和链表29、文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取过程称为(B )。
A、文件访问B、串行化C、文件读写D、格式化30、下列对模板的声明,正确的是(D )。
A、template<T>B、template<class T1;class T2>C、template<class T1,T2>D、template<class T1,class T2>二、填空题1、VC++开发环境中,int型数据占4个字节,short int占____2___个字节,long int 占____4_____个字节,char型数据占1个字节,double型数据占____8_____个字节。
2、若for循环的“头”为“for(int i=1;i<10;i++)”,并且在循环体中不会修改i的值,则循环体将被重复执行____9________次后结束。
3、两个函数的函数名___相同_____,但参数的个数或对应参数的类型_不同______时,则称为重载函数。
4、若ch为char型变量,n为int型变量,则下列语句ch = ’a’; n = 3; ch = ch + n;cout<<” ch = ”<< ch;执行的结果是____ch=d______。
5、C++中函数的参数传递一种是按值传递,另一种是地址传递或_引用____传递。
6、C++运行时的多态性通过虚函数来实现,而编译时的多态性通过函数重载来实现。
7 只读成员函数用____const_________关键字标识,内联成员函数用_______inline____关键字标识。
8、class test{public:static int x;};test t1,t2; t1.x = 25;程序运行到这里时,t2.x的值为____25________。
9、所有的文档类都派生于___Cdocument_____ _______,所有的视图类都派生于:_____Cview________。
10、为解决多继承中因公共基类而产生的二义性问题,C++语言提供了__虚基类______机制。
将公共基类声明为它以后,它在派生类中只产生一个实例。
11、在代码中,使用CWnd::_____ UpdateData _______函数可实现控件与其成员变量之间的数据的传输。
12、列表框ClistBox类的成员函数___AddString ___________用来向列表框增加列表项,成员函数_____ ResetContent _______用来清除列表项所有项目。
13、:______串行化___________ 是指将对象写入永久存储介质或者将对象从永久存储介质中读出的过程。
14、Windows程序中的消息有窗口消息、命令消息和控件通知消息三种类型。
15、MFC中的集合类包括数组、列表、映射。
16、在进行绘图时,画刷用于指定图形的填充样式,_____画笔_______用于指定图形的边框样式。
17、组合框与列表框用途类似,它是由__列表框________和__编辑框________功能组合而成。
18、DC 是Windows应用程序与设备驱动程序和输出设备之间的接口。
19、如果一个类中含有纯虚函数,则称该类为___抽象基类_________20、如果类的所有对象共享一个成员,则称该成员为__静态成员___________21、如果类中的成员只能被本类的成员函数和友元函数访问,则这些成员的访问权限为__私有______ _;如果类中的成员能够被类外的函数访问,则这些成员的访问权限为:____公有__ ____。
22、用户按下键盘按键并放开的过程中,将产生至少三条消息:WM_KEYDOWN,WM_CHAR,WM_KEYUP23、单选按钮初始化要使用函数如下:void CheckRadioButton(IDC_RADIO1, IDC_RADIOn , IDC_RADIOm)其功能的具体描述为:_从IDC_RADIO1到IDC_RADIOn,中设置IDC_RADIOm为默认24、列表框分为单选列表框和多选列表框两种,中任一时刻只能选择一项,则可以选取多项。
三选择填空题(每空1分,共15分)1、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行⑴A 的构造函数,接着执行⑵ C的构造函数,然后执行__ _⑶_B__的构造函数,最后才执行⑷ D的构造函数。
A、基类的对象成员B、派生类的对象成员C、基类D、派生类2、[5] B代表窗口客户区的显示设备上下文, [6]C代表整个窗口的显示设备上下文。
A、CPaintDCB、CClientDCC、CWindowDCD、CMetaFileDC3、消息循环的处理过程如下:⑺A函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg后,⑻B 把来自键盘的命令翻译成WM_XXX消息命令形式。