c++ 期末复习知识点整理
- 格式:docx
- 大小:21.55 KB
- 文档页数:3
基本概念:
1.c++是在20世纪80年代初期由贝尔实验室设计的一种在c语言基础上增加了对(面向对象)程序设计支持的语言。
2.include
cout<<"输入";//输出
cin>>r; //输入
3.一个c++程序由编译预处理指令,数据或数据结构定义和若干函数组成。
4.一个c语言程序可以包含若干函数,其中main表示主函数,每个函数的执行必须从main开始。
5.c++将数据分为基本数据类型,派生类型,符合类型=构造类型,VC
6.0不支持bool型
6.指数形式,E或(e)后面必须是整数
7.c++不支持空字符常量['']是不合法,[""]是合法;endl表示换行。
8.如果需要在字符串中出现双引号,则必须用"\"表示。例如:"please press\"F1\" to help"
9.变量的默认类型为double
10.使用const,define表示定义标识符常量。
11.条件运算符nNum=(a>b)?10:8
12.size of是用于返回操作数所占的内存空间大小
13.break用于结束switch循环或从一个循环跳出。continue用于结束本次循环进入到一个循环中。
14.c++是一种面向对象的程序设计语言,它与面向过程设计方法的最大不同是引入了“类和对象”的概念,而此时函数是构造“类”成员的一种手段。15.函数调用时,实参与形参的个数应相等,类型应一致,且按顺序对应,一一传递数据
16.在c++中,允许在函数声明或定义时给一个或多个参数指定默认值,这样在调用时,可以不给出参数,而按指定的默认值进行工作。
(1)函数既有原型声明又有定义时,默认参数只能在原型生命中指定。(2)当一个函数中需要有多个默认参数时,则形参分配中。默认参数应严格按照,从右至左逐次指定。
(3)函数调用时,按照从左到右,实参与形参相结合,当实参数目不足时,系统将以默认值对齐。
(4)函数原型可多次声明,但一个参数的默认值只能指定一次。
默认值可以是全局变量,全局常量,甚至是一个函数,但不能是局部变量。
17.内联函数:它把函数体的代码直接插入到调用处,将调用函数的方式转换为顺序执行直接插入限制
(1)不能有数组,不能有任何静态类型
(2)不能有switch,for等复杂语句需要在函数类型前加inline
(3)不能有递归
18.函数重载:c++允许多个同名的函数存在,但同名的各个函数的形参必须有区别
使用函数重载,不仅方便记忆,更加完善了同一函数代码功能。
19.New和delete:C++中,new和delete能有效直接地进行动态内存的分配和释放。
(1)必须配对使用
(2)delete必须用于先前指的new
(3)new可以为数组分配内存,可以告诉delete有多少个元素
20.引用变量,实质上是给已定义的变量取了个别名。
引用与指针最大的区别:指针是一个变量,可以把它再赋值指向别处地址,而引用一旦初始化后,某地址不会再改变
{注](1)定义引用时必须初始化,引用类型必须与初始化变量相同
(2)引用常量时,前面必须加const
(3)可以引用结构体,但不能引用数组。
(4)引用本身不是数据类型。
21.一个类总有两种特殊的成员函数,构造函数和析构函数构:在创建对象时,使用给定的值将对象初始化。析:是用来释放一个对象,在对象删除前用它来做一些内存释放等清理工作。
22.将一个已定义的对象所在的内存空间的内容依次拷贝到被初始化对象的内存空间中,这种仅将内存空间的内容拷贝的方式称为浅拷贝。
必须自己定义一个拷贝构造函数,在进行数值拷贝之前,为指针类型的数据成员开辟一个对立的内存空间,是深拷贝。
24友元:除一个类的成员函数可以声明成另一个类的友元外,也可以将一个类声明成另一个类的友元,称为友元类。当一个类作为另一个类的友元时,就意味着这个类的所有成员函数都是另一个类的友元成员函数。
26.This 是一个仅能被类的非静态函数所访问的特殊指针。
对于静态成员函数来讲,由于它是为所有对象所共享,因此在静态成员函数中使用this指将无法确定this的具体指向,所以在静态成员函数中不能使用this 指针
27.继承和派生
派生类对象建立——基类构——派生类构——派生类析——基类析
允许派生类继承多个基类,可使派生类拥有多个基类特性
除了类的多继承外,c++还允许一个基类有多个派生类(多重派生),以及从一个基类的派生类中进行多个层次派生
32赋值运算符的重载:
(1)赋值运算符不能重载为友元函数,只能重载为一个非静态成员函数(2)赋值运算符重载函数是唯一的一个不能被继承的运算符函数
33什么叫时间产生的消息?
在windows操作环境中,无论是系统产生的动作或是用户运行应用程序产生的动作,都称为事件产生的消息
34动态链接库
动态链接库提供了一些特定结构的函数,能被应用程序在运行过程中装入和连接且多个程序可以共享
同一个动态链接库,这样可以大大节省内存和磁盘空间,
KERNEL32.dll用来处理存储器底层功能,任务和资源管理等windows核心服务;GDI32.dll用来提供图形设备接口,管理用户界面和图形绘制包括windows元文件,位图,设备描述表和字体
USER32.dll负责窗口的管理,包括消息,菜单,光标,计时器及其他与控制窗口显示相关的一些功能
35MFC
MFC把windows编程规范中的大多数内容封装成为各种类,称为MFC程序框架,它使程序员从复杂的编程中解脱出来,提高了编程的代码效率
36VC中的MFC APPwizard能够为用户快速,高效,自动地生成一些常用的标准程序结构和编程风格的应用程序,他们被称为应用程序框架结构(单文档,多文档,基本对话框)
37.由于这些应用程序还包含了除源程序文件外的许多消息,因此VC中常将它们称为工程或项目。另外,VC是用文件夹来管理一个应用程序项目。且将项目名用作文件夹名。
38.MFCAW Debug和Release debug有相应调试信息码R没有,但代码经