配色: 字号:
Visual C++期末考试辅导
2022-12-14 | 阅:  转:  |  分享 
  
Visual C++程序设计辅导一.基本概念1.类的封装性:是一种程序设计机制,将对象的属性(数据)和行为(对数据操作的代码)组合成一个有机
的整体。 2.消息:Windows应用程序是由事件驱动的,当事件发生时,系统产生一条描述事件发生的信息的消息。 3.函数重载:指的
是两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同。 4.模板:将函数或类中使用的数据类型参数化,从而创建对多种数据类
型通用的函数或类。 5.抽象类:如果一个类中至少包含一个纯虚函数,则该类称为抽象类。6.虚函数:如果在基类中某个成员函数被声明为虚
函数,则意味着该成员函数在派生类中可能有其它的实现。7.运算符重载:对已有的运算符赋予多重含义,同一个运算符作用于不同类型的数据或
不同个数的操作数将导致不同的行为发生。8派生类:在面向对象程序设计中,继承就是一个新类可以从现有类获得特征,由现有类派生出来的新类
称为派生类或子类。9.类的多态性:多态性是指允许不同类的对象对同一消息做出不同的响应。二.基础理论1.构造函数与析构函数的作用。构
造函数的功能是创建对象时使用给定的值来初始化对象;析构函数的功能主要用来在对象撤销是做一些清理工作。2.简述创建一个基于对话框应用
程序的步骤。(1) 利用AppWizard创建一个基于对话框的应用程序框架。(2) 利用对话框编辑器以可视化的方法编辑对话框,放置
各种控件并设置控件的属性。(3) 使用C1assWizard在对话框类中添加数据成员、交换函数和有效性验证函数,为控件添加关联的成
员变量。(4) 使用ClassWizard为对话框的按钮和其它控件产生的事件添加消息处理函数。(5) 对特殊控件进行初始化,为消息
处理函数添加代码。3.在程序中实现动态多态性,需要哪些条件。动态多态性是指在函数名、函数参数和返回类型都相同的情况下,在编译阶段不
能确定要调用的函数,只能在程序运行时才能确定要调用的函数,需要通过继承和虚函数来实现。4.简述画刷的功能以及创建画刷的步骤。画刷可
以填充图形内部。在MFC应用程序中使用画刷的步骤大致相同:(1) 创建画刷。(2) 将创建的画刷选入设备环境。 (3) 输出图形。
(4) 还原设备环境先前的画刷。5.什么是赋值兼容规则?赋值兼容规则包含哪些情况。赋值兼容规则是指在公有继承情况下,一个派生类的
对象可以用于基类对象使用的地方。赋值兼容规则包括如下三种情况: Derived d;(1) 派生类的对象可以赋值给基类对象 B
ase b=d;(2) 派生类的对象可以初始化基类的引用 Base &b=d;(3) 派生类对象的地址可以赋值给指向基类的指针
Base b=&d;6.简述MFC的组成部分。MFC类库主要由类、宏和全局函数等三个部分组成。(1)MFC类库中的类以层次结构
的方式组织起来。(2)MFC提供的宏很多,主要用来提供消息映射、运行时对象类型服务、诊断调试和异常处理等功能。(3)MFC以全局函
数的形式提供了自己的各种API函数,它们可以在MFC源程序的任何地方调用7.CPaintDC、CClientDC和CWindowD
C主要用在何处。(1)CPaintDC类用于在窗口客户区域绘图(仅限于OnPaint处理函数)。 (2)CClientDC类用于
在窗口客户区域绘图(除OnPaint外的任何处理程序)。(3)CWindowDC类用于在窗口类任意地方绘图,包括非客户区域8.编写
可序列化的类应按哪些步骤进行。(1)直接或间接从CObject类派生出新的类(2)重载Serialize成员函数(3)在类定义中加
入DECLARE_SERIAL宏(4)为类定义一个缺省的构造函数(该函数没有参数)(5)在类的实现中加入IMPLEMENT_SER
IAL宏三.知识应用1.设计一个Employee类,它包含以下数据成员:工号、姓名、年龄和工资,在类中定义构造函数初始化类的数据成
员,添加相应成员函数输出雇员信息。编写主函数测试。#include#includeusing
namespace std;class Employee{private: string num,name; int age; f
loat salary;public:Employee (string nu,string na,int a,float g){n
ame=na; num=nu; salary=g; age=a;}void showEmployee(){cout< <<''\t''< ee e("A0012","张三",19,3000);e.showEmployee(); return 0;}2.下列Planef
igure类是一个表示平面图形的抽象类,perimeter ( )为求图形周长的函数,area( )为求图形面积的函数。请从Pla
nefigure类派生三角形类(Triangle)、矩形类(Rectangle),并给出具体的求面积、周长函数。#include<
iostream>#includeusing namespace std;class Planefigure{ pu
blic: virtual float area()=0; virtual float perimeter()=0; };clas
s Triangle:public Planefigure {public: float area( ){float s=(a+b
+c)/2;return sqrt(s(s-a)(s-b)(s-c));}float perimeter(){return
a+b+c;} Triangle(float x,float y,float z){ a=x; b=y; c=z; }
private:float a,b,c;};class Rectangle:public Planefigure{public:
float area( ){return ab;}float perimeter(){return 2(a+b);} Rect
angle(float x,float y){ a=x; b=y; }private:float a,b;};
int main(){Triangle t(3,4,5);Rectangle r(6,2);cout<<"三角形的面积:"< area()< 设计一个栈类Stack,实现不同数据类型的入栈和出栈操作。#include  template s Type> class Stack {private:int top,length;Type s;public:Stack(
int);~Stack(){delete []s;}void Push(Type);Type Pop();};template <
class Type> Stack::Stack(int n) {s=new Type[n];length=n;top
=0; } template  void Stack::Push(Type a) {if (t
op==length){cout<<"Stack is full!"< } template  Type Stack::Pop() {if (top==0){cout
<<"stack is empty!"< ook类,它包含以下数据成员:书号、书名、作者、出版社和价格,在类中定义构造函数初始化类的数据成员,添加相应成员函数输出图书的基本
信息。编写主函数测试。#include#includeusing namespace std;
class Book{private: string id,name,author,publish; float price;pu
blic:Book (string i,string n,string a,string pu,float pr){id=i;na
me=n;author=a;publish=pu;price=pr;}void showBook(){cout< < in(){Book book("9780123356","Visual C++","王育坚","清华大学出版社",40.5);bo
ok.showBook(); return 0;}5.已知点类的定义如下:class Point{……private: doubl
e x,y;}; 分别用成员函数和友元函数实现计算两点间的距离,函数名为distance。 double Point::distance( const Point &a ){ double dx,dy;dx = x-a.x;dy = y-a.y;return sqrt( dxdx + dydy );}用友元函数实现double distance( const Point &a, const Point &b ){ double dx,dy;dx = a.x-b.x;dy = a.y-b.y;return sqrt( dxdx + dydy );}
献花(0)
+1
(本文系太好学原创)