标签:
public(公有):可被任何函数及类访问
private(私有):无法被非友元的外部函数及类访问;
protected(保护):只能够被自身及子类访问;
class按有无成员指针可分为Class with pointer member(s)与Class without pointer member(s)两种,前者成员指针如在使用过程中新分配了内存并在类生命周期结束后没有pointer指向这个内存遍需要在类的析构函数中释放这个内存,否则这片内存在程序结束前便会一直被占用,造成内存泄露.
Heard file中需要进行防卫式声明宏定义,否则将可能导致头文件重复被包含,绝大多数编译器支持
#ifndef NAME #define NAME ...... #endif
部分新版本编译器则支持 #pragma once 的写法.
函数内联能够增加程序运行速度但会降低编译速度并增加目标程序总代码量适合用于频繁调用且代码短小的函数.
类结构体内声明并定义的函数将优先内联,class结构体外定义的函数则需要在声明前加上inline关键字,函数最终是否内联取决与函数实际代码量与编译器的判断.
ctor与dtor在类生命周期开始与结束时会各被调用且只会被调用一次,默认无代码的ctor与dtor分别执行类成员的内存分配与释放,ctor可以传入参数并重载,dtor则不行.
ctor通常指定为public,当无public的ctor时外部将无法显示的新建实例,可通过类中public的函数得到并限制实例的创建.
传递与返回参数的&(引用)通常能够增加传递速度,相比传递任何实例时都只会传递实例的首地址并自动解引用.
A:重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符. class perason{ bool operator > (type right);... }
B:操作符重载实现为非类成员函数(全局函数)对于全局重载操作符,代表左操作数的参数必须被显式指定. bool operator > (type left,type right);
标签:
原文地址:http://www.cnblogs.com/DecepH/p/notesforgeekband_1.html