C++编程语言核心知识点总结

需积分: 0 2 下载量 173 浏览量 更新于2024-09-11 收藏 104KB DOCX 举报
C++ 重点知识归纳总结 本文将对 C++ 的一些重点知识进行总结和归纳,包括运算符重载、C++ 三大特性、纯虚函数、访问类成员的区别和派生类访问父类中成员变量的问题。 一、运算符重载 运算符重载是 C++ 中的一种重要特性,它使得 C++ 的作用范围扩大了。通过运算符重载,可以在 C++ 程序中定义出很有实用意义而使用方便的新的数据类型。运算符重载使 C++ 具有更强大的功能、更好的可扩充性和适应性,这是 C++ 最吸引人的特点之一。 需要注意的是,运算符被重载后,其原有的功能仍然保留,没有丧失或改变。通过运算符重载,扩大了 C++ 已有运算符的作用范围,使之能用于类对象。C++ 中绝大部分的运算符允许重载,不能重载的运算符只有五个,即成员访问运算符、成员指针访问运算符、域运算符、长度运算符和条件运算符。 二、C++ 三大特性 C++ 语言有三个基本特性:封装、继承和多态。 1. 封装:将函数内部实现隐藏起来仅提供函数接口,提高了代码的安全性和可维护性。 2. 继承:子类继承父类,父类的指针可以指向子类对象,实现多态。 3. 多态:静态多态(函数的重载实现)和动态多态(虚函数来实现)。 三、纯虚函数 纯虚函数是一种特殊的虚函数,它不允许定义其具体动作,其存在只是为了在衍生类中被重新定义。只要是拥有纯虚函数的类,就是抽象类,它们是不能够被实例化的(只能被继承)。如果一个继承类没有改写父类中的纯虚函数,那么它也是抽象类,也不能被实例化。抽象类不能被实例化,不过我们可以拥有指向抽象类的指针,以便于操纵各个衍生类。虚拟函数衍生下去仍然是虚拟函数,而且还可以省略掉关键字“virtual”。 四、访问类成员的区别 在 C++ 中,如果是对象的指针访问其成员函数或者成员变量,就需要用->;如果是对象直接访问其成员函数或者成员变量,就需要用.。当定义类对象是指针对象时候,就需要用->指向类中的成员;当定义一般对象时候时就需要用到.指向类中的成员。 五、派生类访问父类中成员变量的问题 如果私有的话,那么派生类是无法访问父类中的成员变量的。但是我们可以设置为 protected,这样就可以了。需要注意的是,在计算一个 sizeof(类名)的时候大小只计算成员变量的大小,不计算成员函数。成员函数是独立开辟的一段内存空间。 最后,附上一段代码,使用 vector 容器来存储类对象,并访问类中对象的成员函数。