1.encapsulation:通过权限来限制类中的代码外界无法看到更无法更改,只能通过接口来直接使用。
2.inheritance:1)我们称已存在的用来派生新类的类为base class,又称为父类。由已存在的类派生出的新类称为derived class,又称为子类。
一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。
2)方式:public,protected,private。
3.polymorphism:不同对象接收同一消息是有不同的行为。
4.inline:将函数代码插入到函数调用处。用空间换时间,提高效率!
5.template:创建通用功能函数,支持不同形参,简化重载函数函数体的设计!
6.verload:对于同一个函数名,形参个数和类型不同!不能重载的标识符有:·,·*,->*,::,?:,size of.
7.virtual:被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。纯虚函数要初始化为0.
8.friend:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。
成员函数有this指针,而友元函数是非成员函数,没有this指针。
友元函数不属于类,不需添加类名及作用域。
friend 返回类型 函数名(形参表)
9.constructor:命名与类名相同;无返回值,不加任何类型如:void,int,double;公有函数;用于对象初始化。
10.destructor:用于对象消失。
11.指针与数组;指针与引用
指针:动态分配内存,new,delete
writer=new char [strlen(the_writer)+1](字符串以"/0"结尾,所以加1)
数组:静态分配内存,可能造成空间浪费级越界。
创建指针可不初始化,创建引用要初始化。引用一旦被另一对象初始化,不能改变为另一对象。而指针可以。
12.虚函数联系到多态,多态联系到继承。
13.数据成员:类内声明,类外初始化。 数据类型 类名::静态数据成员名=初始值
int myclass::V2=42
函数成员:函数体