C++入门笔记.docx
- 文档编号:27314399
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:15
- 大小:530.99KB
C++入门笔记.docx
《C++入门笔记.docx》由会员分享,可在线阅读,更多相关《C++入门笔记.docx(15页珍藏版)》请在冰豆网上搜索。
C++入门笔记
1,使用VC创建MFCAppWizard应用程序项目注意的问题
要防止在没有安装MicrosoftVisualStudio6.0的计算机中出现缺少MFC42.DLL的错误,可以讲应用程序创建成使用MFC静态库的模式。
单击Project菜单,选择Setting命令,或者使用快捷键ALT+F7,弹出的对话框进行设置属性。
在Microsoftfoundationclasses(MFC)下拉列表中,选择UseMFCinstaticlibrary项目,设置完成后重新编译执行该项目即可。
2,使用AppWizard应用程序向导创建Win32程序
Win32应用程序对初学者来说虽然刚开始有点复杂,但无非就是一下几个部分:
winMain()函数:
负责调用其他应用功能函数。
MyRegisterClass()函数,负责注册窗口各项信息。
InitInstance()函数,负责初始化。
WnProc()函数,负责处理消息循环。
Creatwindow()函数,创建窗口。
3,指针的定义
指针,保存了一个地址。
若是int指针,就保存了一个int整型的地址,你让地址=直接数,编译器能答应吗
#include
usingnamespacestd;
intmain()
{
int*myballs=8;//定义式错误的int*maballs的意思是定义一个整形指针myballs。
不能指向一个直接数。
cout<<*myballs< cin.get(); return0; } 解决方法 int*myballs=newint; *myballs=8; 这样定义了一个int型的指针同时将对应单元的内容赋值为8。 4,结构体 structstudent_info { stringstrname; intchinease; }; student_info是一个结构体类型,而不是结构变量。 对于结构体赋值可以在初始化的时候进行赋值,也可以通过数组分量进行结构体分量的赋值: student_infostudent[30];student[0].number=1234; 定义一个结构体要注意以下三个部分: 结构体的关键字: Strut。 表示定义一个结构体 结构体名称: student_info就是结构体名称 结构体成员: 包括结构体成员strname成为结构体类型student_info结构成员。 5,函数通过指针来调用数组 两种函数通过指针来调用数组的方法 //intfoun_sum(intany[],intnum) intfoun_sum(int*any,intnum) 6,函数指针 函数在内存中运行,肯定也像数据对象一样,占用一定的内存空间,既然占用了一定的内存空间,那么他也就有一个内存地址,而指向这个内存地址的就是“函数的指针”。 7,类和构造函数的实现 类定义的关键字是class。 表明声明是一个类的声明。 类名。 Studentclass就是一个类名,这个类名是一个抽象概念,表示一个全体学生组成的学生类,而不是具体的某一个学生。 访问控制关键字。 类定义有三种访问控制关键字: private,public,protected。 使用private关键字外界不可以直接访问,public可以直接访问。 注意: 类的定义式生成这种对象的前提,考虑类的属性和对外接口是类的重点和难点,基本原则是: 尽量让内部的数据和操作私有化,提供简单易用的接口函数,尽量降低类与类之间的耦合度。 实现类的成员函数: 依次是Human.cppmain.cppHuman.h文件 显然以上这种模块化编程很实用,但是这个程序存在缺陷,因为我们无法对类成员中的变量进行赋值和改变,因此采用类中构造函数,并在对应函数体进行初始化如下图所示: 实现类的成员函数: 依次是Human.cppmain.cppHuman.h文件 使用类的构造函数方法并再函数体内进行初始化对改变类中private类型的成员变量是一个很好的方法,但是这种方法并不是万能的。 假设sex属性定义为常量,即将一个人的性别看成自出生到死亡都是不变的: Constintsex;//性别是对象生成到销毁都是不变的 如果这样定义,上述所说的两个重载版本的构造函数都不能编译通过,原因在于以下两条语句的操作对于常量来说是不允许的: sex=Sex; sex=1; 常量不能作为赋值号的左操作数是基本常识。 C++有一个特殊的类初始化方法: 成员初始化列表法。 改写类的构造函数如下: //利用构造函数实现对“人”类的成员变量初始化和修改 human_info: : human_info(stringname,unsignedintAGE,intSex,unsignedintHeight,unsignedintWeight): strname(name),age(AGE),sex(Sex),hight(Height),weight(Weight) { }//带参数的构造函数的成员初始化列表实现 human_info: : human_info(): strname(“Generablepeople”),age(20),sex (1),hight(176),weight(70) //不带参数的构造函数成员初始化列表实现。 注意: 变量的初始化和赋值有两种形式: object=2和object= (2);在成员初始化列表方法中只能使用object (2)这一种形式,因此作为常量的sex也可以顺利初始化 析构函数: ~human_info(); 析构函数与构造函数相比较,在函数名称前面多了一个~符号,该符号也是析构函数名的一部分。 除了该符号以外,也要和类的名称相同。 由于“人”类中没有对内存做动态内存分配,因此在该类中的析构函数的函数体可以为空或者不定义析构函数。 8,运算符重载函数 格式: <函数类型><关键字operator><运算符号>(形参类型&形参变量) { 函数体; Return; } 注意: 运算符重载函数的实现在对应的.CPP文件中实现,但是要明白运算符重载函数要在.h文件中要声明。 以下是运算符重载函数的例子: 图片依次是vector.h,vector.cpp,main.cpp文件 第五章 5.1对话框 通过右键属性,可已进行修改按键的名称属性等操作。 为edit控件添加类的成员变量: 首先,右击鼠标“edit”控件,选择“classwizard”选项,再单击的对话框中选择“MemberVariables”选项卡,选中“IDC_EDIT”,然后单击“AddVariables”按钮,单击后会出现单元名称和数据类型。 添加按钮控件消息处理函数: 双击“+,-,*,/”对话框,会弹出一个对话框来设置该控件的纤细处理函数函数名称,可以直接默认。 例程: voidCDialog1: : OnButton1() { //TODO: Addyourcontrolnotificationhandlercodehere UpdateData (1); m_results=m_data1+m_data2; UpdateData(0); } 注意函数: UpdateData()函数,该函数接受的参数是一个布尔型的变量,接受的参数不同,则对控件和数据交换的作用就不同: True: 将控件上的数据读取到变量中去。 False: 将变量中的数据写到空间中。 UpdateData()函数是必要的,如果没有,则空间中的数值和变量的数值不能正常的交互。 5.2模式对话框的创建和使用: 1,对话框的添加,在资源视图中右键点击Dialog选择InsertDialog命令。 2,为新建的对话框添加类: 点击主菜单中的insertnewclass,在弹出的对话框中要进行一些列的设置,首先是ClassType: 一般设置为MFCClass。 然后进行类的命名,例如: Cdialog1,,然后是DialogID选择为IDD_DIALOG1,基类选择是Cdialog。 注意: 对话框和类的关系与对话框里的控件和源程序之间的关系是类似的,对话框要通过ID,然后使用类来绑定这个ID,这样,对话框和类(源程序)就联系在一起了。 3,在主框架菜单中添加触发对话框的菜单项,首先打开Menu文件夹中的IDR_MAINFRAME资源,然后双击菜单列表中的空白处。 弹出的对话框用来设置新建菜单的标题和ID。 4,为新建的菜单添加消息处理函数,右击新添加的菜单,选择classwizard选项,其次在弹出的对话框中选择MessageMaps选择新建对象的ID编号,消息选择COMMAND然后单击AddFunction按钮。 最后添加默认的消息处理函数例如: OnDlg(),并再XXMainFirm.cpp函数中添加#include<新建类的.h>和响应的消息处理函数,例程代码如下: #include"Dialog1.h" voidCMainFrame: : OnDlg1() { //TODO: Addyourcommandhandlercodehere CDialog1dlg;//创建CDialog1类对象dlg if(! dlg.DoModal())//调用dlg对象的DoModal()函数创建模式对话框 { return; } } 5.3Windows通用对话框 所谓的Windows通用对话框,就是指Windows提供的一组标准用户界面对话框,而在MFC中也有相应的功能支持对话框的开发。 通用对话框类 用途 CFileDialog 打开或者保存一个文件夹 CCcolorDialog 选择或者创建颜色 CFindReplaceDialog 文字替换对话框 CPageSetupDialog 界面参数对话框 CFontDialog 选择自体对话框 CPrintDialog 设置打印机并打印文档 以CfileDialog为例子;创建MFC应用程序(单文档),然后点击MenuIDR_MAINFRAME,点击编辑添加‘通用对话框-文件’,双击进行命名和命名ID。 最后右击‘通用对话框-文件’点击ClasswizardMessageMaps—>命名IDCOMMANDAddFunction,然后再MainFirm.cpp添加如下代码: 下面以CfileDialog为例子,历程代码如下: voidCMainFrame: : OnWenjianjia() { //TODO: Addyourcommandhandlercodehere CFileDialogdlgFile(TRUE,"txt","*.txt"); if(dlgFile.DoModal()) { return; } } CFileDialogdlgFile(TRUE,"txt","*.txt");//CfileDialog类的构造函数接受3个参数,其中第一个参数是选择打开还是保存,TRUE时打开,FALSE是保存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 入门 笔记