MFC绘图基础之C++面向对象程序设计基础
本文只介绍基本的C++基础知识,若需详细学习,请参考其他教程。
(一)类和对象
类:
class 类名{
访问权限控制符(public,private,protect) 成员变量/成员函数;
}
注:1、不加访问权限控制符默认为private;
2、类内声明成员函数,类外定义
成员函数的定义:
类型说明符 类名 :: 成员函数名(<参数表列>)
{ 函数体; }
对象:
类名 对象表列(<参数表列>);
(二)构造函数与析构函数
系统自动执行。
构造函数可以有参数,所以构造函数可以重载。
析构函数没有参数,不能重载。
(三)对象的动态建立与释放
原因:有些操作对象只能在程序执行过程中被赋值,编译器在编译时无法为它预留存储空间,只能在程序运行时根据要求进行内存分配(动态存储分配)
通过new与delete实现建立对象与释放对象:
类名 *指针变量名 = new 类名(初始化);
delete 指针变量名;
1)一维对象数组动态内存的分配与释放:
类名 *指针变量名 = new 类名[数组大小];
delete []指针变量名;
2)二维对象数组动态内存的分配与释放:
类名 **指针变量名 = new 类名*[数组行数];
for(int i=0;i<行数;i++){ 指针变量名[i] = new 类名[列数]; }
for(int i=0;i>行数;i++){ delete []指针变量名[i]; }
delete []指针变量名;
(四)继承与派生
继承让你可以使用基类的成员变量和函数,派生让你可以定义自己需要的成员变量和函数
派生类定义:
class 派生类名:[继承方式(不写,默认为private)]基类名{ 派生类新增成员的定义; }
注:基类的构造函数是不能被继承的
派生类构造函数的定义:
派生类构造函数名(总参数):基类构造函数名(参数表列){ 派生类中新增成员的初始化语句; }