文章 2012-05-16 来自:开发者社区

2012年C++专家进阶之五

2012年C++专家进阶之五 C++编程的时候,用成员初始化列表的方法,来对类成员进行初始化,需要注意的问题。 哪是什么问题呢?请先看代码。 演示代码 class CTest { public:          CTest(int x);       &nb...

文章 2012-05-15 来自:开发者社区

2012年C++专家进阶之四

2012年C++专家进阶之四 问题描述 当一个类打算被用作其它类的基类时,它的析构函数必须是虚的。为什么呢? 背景说明 面向对象编程里面有一个多态的核心概念。C++中的虚函数的主要作用就是用来实现多态机制。 多态,简而言之就是用:基类的指针指向其派生类的实例,然后通过基类的指针调用实际派生类的成员函数,让基类指针所指的成员函数具有“多种表现或者实现形态”。 根本原因 而我们往往又通过基类的指针来....

文章 2012-05-15 来自:开发者社区

2012年C++专家进阶之三

2012年C++专家进阶之三 问题:为什么构造函数不能是虚函数 方法:反证法 证明:假设构造函数是虚拟函数。 方法一:通过覆盖的概念来进行反证 如果派生类或者说子类,写成和基类、父类一模一样的函数,也就是函数说,名称相同,而且参数也相同。 注意:基类是虚函数,是带关键字virtual的。 满足覆盖的条件: 1.分属于不同类,子类与基类; 2.基类的函数带virtual关键字; 3.函数名称相同;....

文章 2012-05-15 来自:开发者社区

2012年C++专家进阶之二

2012年C++专家进阶之二 一、      类成员函数的重载、覆盖和隐藏的区别 相同点:都是函数名字相同 序号 区别项 重载 覆盖 隐藏 1 含义 无此一说 主要方便编写代码,函数可以重名 派生类函数覆盖基类函数 指派生类的函数屏蔽了与其同名的基类函数 2 范围 相同范围 不同的范围 不同的范围 3 类 都...

文章 2012-05-15 来自:开发者社区

2012年C++专家进阶之一

2012年C++专家进阶之一 一、C中的malloc与C++中的new的8大区别: 序号 比较项 malloc new 说明 1 应用范围 C C++ 仅仅是C++语言 New是C++语言新引进的操作符,C++兼容C语言,或者说对C语言进行扩充 2 操作符 不是 New以及 delete是   3 重载 在C++语言可以   重载是面向对象语言的特性 4 构造函数 ma...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
X
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等