在C++语言的学习过程中,知识点的数量不在少数,但其中有很多都是关键的知识点,那么关于C++语言的关键知识点包括哪些呢?
多态:根据对象的实际类型决定函数调用语句的具体调用目标。
虚函数:类成员函数前面添加virtual关键字以后,该函数被称为虚函数。
函数重载:函数重载必须在同一个类中进行;子类无法重载父类函数,父类同名函数将被名称覆盖;重载是在编译器期间根据参数类型和个数决定函数调用(静态联编)。
函数重写:函数重写必须发生在子类和父类之间,且函数原型必须完全一样;
非虚函数重写--->重定义
虚函数重写 --->重写
c++内存分配:
栈区:编译器自动分配释放,存放函数的参数,局部变量;
堆区:由程序员分配释放;
全局静态存储区:初始化的全景变量和静态变量占用初始化区域,未初始化的全局变量和静态变量占用未初始化区域;
文字常量区:常量字符串;
代码区:函数体的二进制代码。
虚函数指针:C++类的成员函数是独立存储的,只有成员变量和虚表指针(如果存在虚函数,无论多少个虚函数,仅包含一个指针vptr,指向虚函数表)才会占用类的内存空间。定义子类对象时,vptr先指向父类的虚函数表,在父类构造完成之后,子类的vptr才指向自己的虚函数表。