(1)类定义了数据成员和函数成员,数据成员用于存与该类型的对象相关联的状态,函数成员则执行赋予的数据操作意义。通过类可以将实现与接口分离。
(2)C++ 使用类来抽象数据类型。
(3)类就是定义一个新的类型和一个新的作用域
(4)类中包含类成员、构造函数、成员函数。
(5重载操作符:成员函数只能重载本类的其他成员函数=类的成员函数与普通的非成员函数以及在其他类中声明的函数不相关。
(6)类的前向声明一般用来编写互相依赖的类。
(7)定义对象时将为其分配存储空间,但定义类型时不进行存储分配。
(8)类定义以分号结束是必须的,因为在类的定义之后可以借一个对象定义列表。
(9)成员函数具有一个附加的隐含形参,即为指向该对象的一个指针。这个隐含形参命名为this,与调用的成员函数的对象绑定在一起。
(10)可以将数据成员声明为mutable,这样可以保证在该数据成员可以被修改,并且mutable必须放在成员的声明之前。
(11)形参表和函数体处于类作用域中,函数返回类型不一定在类作用域中。与形参类型相比,返回类型出现在成员名字前面,如果函数在类定义体之外定义则用于返回类型的名字在类作用域之外。如果返回时用由类定义的类型。则必须使用完全限定名。
(12)类定义世界上再两个阶段中处理:1)编译成员声明,2)在所有成员出现之后,才编译它们的定义本身。
(13)构造函数是特殊的成员函数,只要创建类类型的新对象都要执行构造函数,构造函数的工作是保证每一个对象的成员具有合适的初始值。
(14)构造函数不能为const对象。
(15)当构造函数被声明为explicit,编译器将不使用它作为转换操作符。
(16)友元机制允许一个类将其非公有成员的访问权授予指定的函数或者类。它只能定义在类定义的内部。通常将友元成组的放在类定义的开始或者结尾。
(17)static成员函数没有this指针,并且static成员函数不能被声明为const,static不能声明为虚函数。
(18)static数据成员必须定义在类定义体的外部定义。