面向对象的编程思想主要包括( )原则。
C++类:构造函数(对象创建时调用)、析构函数(对象销毁时调用)、虚函数(实现多态)。构造函数不能为虚。
构造函数不能是虚函数(虚表在构造函数完成后才建立)。析构函数可以且通常应该为虚函数(防止内存泄漏)。
【考点】面向对象编程原理|编程范式辨析
🎯 考纲定位 本题考查《GESP 考试大纲》六级"编程基础"模块中面向对象编程的核心原则。命题人专攻概念辨析,用算法术语(贪心、分治)和并发术语(异步、并行)混淆视听,卡住那些只背"编程=算法"的考生。这类题是"思想/范式"类选择题的标配,GESP 六级明确要求掌握 OOP 三要素,而非算法实现。
🧠 解题思维 看到"面向对象"四字,立刻激活 EIP 模型:Encapsulation(封装)、Inheritance(继承)、Polymorphism(多态)。依次排除:A 项贪心/回溯是算法而非编程思想,B 项并发/异步是运行时特性,C 项递归/循环是控制流结构;只有 D 项精准对应 OOP 三要素。通法:凡涉及"编程思想/范式"的选择题,先定位到"面向对象""函数式""过程式",再回忆其标志性术语(如封装、递归、循环),用术语匹配替代死记硬背。
🪤 陷阱拆解 A 项贪心/回溯是算法而非编程思想,B 项并发/异步是运行时特性,C 项递归/循环是控制流结构——命题人故意用高频术语伪装成"编程思想",利用考生对"思想"与"技术"的混淆。最阴险细节:C 项"递归"在部分语言(如 C)中并非 OOP 原则,却与"面向对象"概念无关,专考概念边界。若考生只背"OOP 就是封装继承多态"而不理解内涵,遇到变体题(如"下列哪项不是 OOP 原则")照样能蒙对。
🔄 反命题思维 若把"主要包括"改成"不包括",D 项仍是唯一对应 OOP 的选项,命题人只会换成"下列哪项不是 OOP 原则"来区分概念。刷到类似题先自问:这是在考"思想/范式/模型"还是"算法/结构/技术"?前者看术语归属,后者看应用场景。