1.变量是程序可操作的存储区的名称。每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址
2.类型决定变量存储空间的大小和布局。
3.C++是大小写敏感的。
4.在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
5.下面是一个指向整数的指针数组的声明:
int *ptr[MAX];
6.每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。
7.一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。与所有的指针一样,您必须在使用指针之前,对指针进行初始化。
8.·我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。
· 如果把函数成员声明为静态的,就可以把函数与类的任何特定对象独立开来。静态成员函数即使在类对象不存在的情况下也能被调用,静态函数只要使用类名加范围解析运算符 :: 就可以访问。
·静态成员函数只能访问静态成员数据、其他静态成员函数和类外部的其他函数。
·静态成员函数有一个类范围,他们不能访问类的 this 指针。
类中特殊成员变量的初始化问题:
常量变量:必须通过构造函数参数列表进行初始化。
引用变量:必须通过构造函数参数列表进行初始化。
普通静态变量:要在类外通过"::"初始化。
静态整型常量:可以直接在定义的时候初始化。
静态非整型常量:不能直接在定义的时候初始化。要在类外通过"::"初始化。
9.一个派生类继承了所有的基类方法,但下列情况除外:
基类的构造函数、析构函数和拷贝构造函数。
基类的重载运算符。
基类的友元函数。
10.类重载、覆盖、重定义之间的区别:
重载指的是函数具有的不同的参数列表,而函数名相同的函数。重载要求参数列表必须不同,比如参数的类型不同、参数的个数不同、参数的顺序不同。如果仅仅是函数的返回值不同是没办法重载的,因为重载要求参数列表必须不同。(发生在同一个类里)
覆盖是存在类中,子类重写从基类继承过来的函数。被重写的函数不能是static的。必须是virtual的。但是函数名、返回值、参数列表都必须和基类相同(发生在基类和子类)
重定义也叫做隐藏,子类重新定义父类中有相同名称的非虚函数 ( 参数列表可以不同 ) 。(发生在基类和子类)