C中结构体:没有函数
C++中结构体:可以有函数,成员缺省为公有
C++中类:成员缺省为私有
类的访问权限:public,private,protected
类与对象:
构造函数:
析构函数:
函数重载:函数调用,不仅是类成员函数间,全局函数也有函数重载,->函数重载是C++语言的特质。函数调用:_stdcall(C++标准调用),VC默认函数调用方式为C调用方式,而不是C++标准调用(_stdcall).
this指针:
继承:
虚函数:
多态性:
纯虚函数和抽象类:
引用与指针:是否占用内存,引用:否;指针:是。函数参数中出现较多。
程序排版:头文件,源文件,工程设置:
编辑-编译-链接-运行
头文件不参与编译,源文件单独编译。
源文件1预编译处理(包括头文件,宏等)->单独编译生成目标文件.obj1
源文件2预编译处理(包括头文件,宏等)->单独编译生成目标文件.obj2
.....................
obj1,obj2,...,库=>链接生成.exe文件.
关于头文件思考:
我们一般将函数的声明放在头文件中,函数定义实现放在源文件中;C++中将类的定义放在头文件中,类的实现放在源文件中;当变量放在头文件中时,头文件中放变量的声明(变量的声明定义;函数的声明定义;类的声明定义。eg1:一个源文件中放多个类的定义有问题,为什么放在多个源文件中没问题,是否其他源文件中的都是声明,同样的代码;eg2:一个源文件中放多个int a有问题,而放在多个源文件中没问题。eg3:函数的声明定义比较清楚,看是否有“{}”。还有关键字extern,一般头文件声明我们会加extern关键字。)
头文件的利用:头文件的重复包含,动态链接库中,发布和使用方用同一头文件(预编译指令使用)