类的基本概念

1、类与结构体的区别:struct声明的类默认是public,而class声明的是private的,并且成员可以为函数。

2、成员函数也可以称为方法。 ::叫做作用域区分符

3、Inline 定义内联函数,直接拷贝代码,省去函数调用造成的系统开销

4、类中定义的成员函数默认为内联函数,因此可以将函数定义写在头文件中,但一般不这么做

5、类定义和成员函数定义分开是目前开发程序的通常做法。类定义可以看成类的外部接口,类的成员函数定义看成是类的内部实现。

6、类名加在成员函数名之前而不是加在成员函数的返回类型前。

7、一个类中所有的对象调用的成员函数都是同一个代码段,所有对数据成员的访问都被隐含地加上了前缀this->

8、一个类的对象做占据的内存空间由它的数据成员所占据的空间综合所决定。类的成员函数不占据对象的内存空间。

9、保护成员:外部不能直接访问,基类中与private作用相同

10、如果一个非类型名隐藏了类型名,则类型名通过加前缀可用。如class student s1;

11、C++规定,一个名字不能同时指向两种类型。

12、非类型名(变量名、常量名、函数名、对象名或枚举成员)不能重名

13、对象初始化:全局变量和静态变量在定义时,将位模式清0,局部变量在定义时,分配的内存空间内容保持原样,故为随机数。

14、如果一个类没有专门定义构造函数,那么C++仅仅创建对象而不做任何初始化。

15、C++中规定与类名相同并且无返回值的成员函数为构造函数,前面再加~即为析构函数

16、构造函数和析构函数都由系统自动调用,用户无法直接调用

17、与变量定义相似,在默认构造函数创建对象时,如果创建的对象是全局对象或静态对象,则对象的为模式全为0,否则,对象值是随机的。

18、构造类成员:形如 函数名(参数列表):变量名(变量值)

19、注意区分类的初始化和类赋值

20、引用与指针的区别,引用只能初始化一次

21、局部和静态对象,以声明的顺序构造,静态对象只被构造一次,所有全局对象都在主函数main()之前被构造,全局对象构造时无特殊顺序,成员以其在类中声明的顺序构造

原文地址:https://www.cnblogs.com/hlb430/p/2613049.html