vc复习提.docx

上传人:b****5 文档编号:11767626 上传时间:2023-04-01 格式:DOCX 页数:9 大小:18.42KB
下载 相关 举报
vc复习提.docx_第1页
第1页 / 共9页
vc复习提.docx_第2页
第2页 / 共9页
vc复习提.docx_第3页
第3页 / 共9页
vc复习提.docx_第4页
第4页 / 共9页
vc复习提.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

vc复习提.docx

《vc复习提.docx》由会员分享,可在线阅读,更多相关《vc复习提.docx(9页珍藏版)》请在冰豆网上搜索。

vc复习提.docx

vc复习提

一、单项选择题(每小题1分,共20分)

1、假定MyClass为一个类,则执行“”MyClassa[3],*p[2];”语句时,自动调用该类构造函数的次数为()

A、2B、3C、4D、5

2、对于类中定义的成员,其隐含访问权限为()

A、protectedB、privateC、publicD、static

3、一个类的友元函数或友元类能够通过成员操作符访问该类的()

A、私有成员B、所有成员C、公用成员D、保护成员

4、下面说法正确的是()

A、构造函数可以重载,析构函数不能重载。

B、构造函数不能重载,析构函数可以重载。

C、构造函数可以重载,析构函数也可以重载。

D、构造函数和析构函数都不可以重载。

6、类AB的缺省构造函数和析构函数是()

A、AB()和~AB()B、AB(int)和~AB()

C、AB()和~AB(delete)D、AB()和int~AB()

7、在C++中,若对函数未加说明,则函数的隐含类型是()

A、intB、doubleC、voidD、char

9、下列说法中正确的是()

A、类定义中只能说明函数成员的函数头,不能定义函数体

B、类中的函数成员可以在类体中定义,也可以在类体之外定义

C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中

D、在类体之外定义的函数成员不能操作该类的私有数据成员

10、以下不属于成员函数的是()

A、静态成员函数B、友元函数

C、构造函数D、析构函数

11、对于消息队列的描述正确的是()

A、在Windows中只有一个消息系统,即系统消息队列。

消息队列是一个系统定义的数据结构,用于临时存储消息。

B、系统可从消息队列将信息直接发给窗口。

另外,每个正在Windows下运行的应用程序都有自己的消息队列。

C、系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。

应用程序的消息对列中存储了程序的所有窗口的全部消息。

D、以上都正确

13、MFC类库中的类按层次关系可知,CStatic的直接父类为()

A、CObjectB、CWndC、CcmdTargetD、CFrameWnd

14、可以利用控件的()属性和Tab键顺序来为控件分组。

A、IDB、TabstopC、GroupD、Caption

15、根据对话框的行为性质,对话框可以分为两类:

()

A、对话框资源和对话框类B、模式对话框和非模式对话框

C、对话框资源和对话框模板D、消息对话框和模式对话框

16、以下控件中,()没有Caption属性。

A、按钮B、群组框C、编辑控件D、静态控件

17、菜单项助记符前用()引导。

A、%B、&C、#D、$

18、更新菜单状态的消息是()。

A、WM_COMMANDB、UPDATE

C、ON_UPDATE_COMMAND_UID、INVALIDATE

19、关于工具栏、菜单和加速键的关系,正确的说法是()。

A、工具按钮与菜单必须一一对应B、工具按钮与加速键一一对应

C、工具按钮不必与菜单一一对应D、菜单与加速键一一对应

20、使用GetWindowDC()和GetDC()获取的设备上下文在退出时,必须调用()释放设备上下文。

A、ReleaseDC()B、delete()C、DeleteDC()D、Detach()

二、填空题(每空1分,共25分)

3、两个函数的函数名________,但参数的个数或对应参数的类型_________时,则称为重载函数。

4、若ch为char型变量,n为int型变量,则下列语句

ch=’a’;n=3;ch=ch+n;

cout<<”ch=”<

执行的结果是__________。

5、C++中函数的参数传递一种是按值传递,另一种是地址传递或________传递。

6、C++运行时的多态性通过______________来实现,而编译时的多态性通过_____________来实现。

8、classtest{

public:

staticintx;

};

testt1,t2;t1.x=25;

程序运行到这里时,t2.x的值为____________。

10、为解决多继承中因公共基类而产生的二义性问题,C++语言提供了________机制。

将公共基类声明为它以后,它在派生类中只产生一个实例。

11、在代码中,使用CWnd:

:

____________函数可实现控件与其成员变量之间的数据的传输。

14、Windows程序中的消息有窗口消息、命令消息和__________消息三种类型。

三选择填空题(每空1分,共15分)

1、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行⑴的构造函数,接着执行⑵

的构造函数,然后执行___⑶___的构造函数,最后才执行⑷的构造函数。

A、基类的对象成员B、派生类的对象成员

C、基类D、派生类

3、消息循环的处理过程如下:

函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg后,

⑻把来自键盘的命令翻译成WM_XXX消息命令形式。

函数通知Windows把每个消息分发给相应的窗口函数。

应用程序并不直接调用窗口函数,而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。

A、GetMessage()B、translateMessage()C、PostMessage()

D、SendMessage()E、DispatchMessage()

4、常用的CButton类的成员函数中:

⑽获得一个按钮控件的选中、选择和聚焦状态;⑾得到一个按钮的选中状态;⑿

设置一个按钮的选中状态。

A、GetState()B、SetState()C、SetCheck()

D、GetCheck()E、GetButtonStyle()

5、滚动条类CScrollBar的成员函数规定了滚动条的操作。

设置滚动条的范围使用⒀函数,设置滚动块的位置使用⒁

函数,获取滚动块的当前位置使用⒂函数。

A、SetPosB、SetRangeC、SetScrollRangeD、GetPos

E、SetScrollPosF、GetScrollPosG、GetScrollRange

四写出下列程序的运行结果(每小题5分,共15分)

1、.#include

classA{

int*a;

public:

A(intx){a=newint(x);cout<<"*a="<<*a<

};

voidmain()

{

Ax(3),*p;

p=newA(5);

deletep;

}

2、classtest{

private:

intnum;

public:

test();

intGetNum(){returnnum;}

~test();

};

test:

:

test(){num=0;}

test:

:

~test()

{cout<<″Destructorisactive″<

voidmain()

{testx[3];

cout<<″Exitingmain″<

}

3、#include

classA{

public:

virtualvoidfun()

{cout<<"I'mclassA"<

};

classB:

publicA{

public:

voidfun()

{cout<<"I'mclassB"<

};

classC:

publicB{

public:

voidfun()

{cout<<"I'mclassC"<

};

voidmain()

{

Aa,*pA=&a;

pA->fun();

Bb;

pA=&b;

pA->fun();

Cc;

a=c;

a.fun();

A&aRef=c;

aRef.fun();

}

五、完成程序题(本大题共3小题,每空2分,共12分)。

根据题目要求,完成程序填空。

1、在下面程序的横线处填上适当字句,使该程序执行结果为6。

#include

classbase{

intX;

public:

_________[1]__________//为X置值

_________[2]__________//取X值

};

voidmain()

{

basetest;

test.init(6);

cout<

}

2、一个类的头文件如下所示,主程序中产生对象T,且T.num=10,并使用Print()函数输出这个对象的值。

classtest{

private:

intnum;

public:

test(int);

voidPrint();

};

test:

:

test(intn){num=n;}

voidtest:

:

Print(){cout<

#include

voidmain()

{______[3]______________;

______[4]______________;

}

3、在下面横线处填上适当字句,完成类中成员函数的定义。

classA{

int*a;

public:

A(intx=0){

a=_____[5]____________;//用x初始化a所指向的动态对象

}

~A(){_____[6]___________;}//释放动态存储空间

};

六、程序设计题(1题4分,2题9分,共13分)

1、简单的计算程序界面如下图所示,操作数1对应编辑框控件的ID为

IDC_EDIT1,对应值类型的成员变量m_op1(int);操作数2对应编辑框控件的ID为IDC_EDIT2,对应值类型的成员变量m_op2(int);计算结果对应的编辑框控件的ID

为IDC_EDIT3,对应值类型的成员变量m_result(int)。

假设输入的数为整数,加法按钮的功能是将两操作数相加,并将结果在对应的编辑框IDC_EDIT3显示出来。

写出加法按钮对应的代码。

voidCExDlg:

:

OnButton1()

{

}

2、为学员信息设计一个类CStudent,包含:

学号、姓名、出生日期、家庭住址、班级。

请写出可以实现要求的CStudent.h和CStudent.cpp文件的内容

3、课件里鼠标键盘的例子

4、文档中画两条平行线的程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1