- 禁止类生成拷贝构造和赋值构造的方法
使用基类,把这些方法声明成private的,这样哪怕友元函数和自身都无法访问父类的private成员。
2.int main的知识
main的返回值必须是int类型,需要操作系统获得;argc代表参数个数、argv代表参数的内存,通过char数组存储。
3.strcpy、sprintf、memcpy知识
strcpy是字符串拷贝、sprintf是把其他类型数据转换成字符串、memcpy是内存块的拷贝。
memcpy最快,其次是strcpy、最后是sprintf。
4.memset不能在有虚函数类、有cpp成员对象的类内清空
因为在构造函数函数体之前编译器会添加初始化虚函数表的内容,而清空就不能使用了,不过实际测试的时候发现在栈上分配的成员函数可以调用虚函数,编译器直接变成函数地址去调用。
5.必须使用构造函数初始值列表的情况:
const成员、引用成员的初始化、类内有成员只拥有不缺省的构造函数、父类没有缺省的构造函数。
6.关于友元的知识
友元使得类外部的函数和其他类的成员函数能访问类内部的成员,破坏了类的封装属性;友元不具有继承性、也不具有交换性、传递性。
7.面向对象的精髓就是多态,使用多态可以使得编程不需要面向实际执行,在执行的过程中注入多态的属性。
面向接口编程就是利用了这种属性。