C++
文章平均质量分 78
叶枫其
这个作者很懒,什么都没留下…
展开
-
深入理解C++的动态绑定与静态绑定的应用详解
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:复制代码 代码如下:clas转载 2015-11-04 13:21:07 · 260 阅读 · 0 评论 -
父类指针指向子类对象的理解
父类子类指针函数调用注意事项1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩)2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。(一般不会这么去定义)3,如果基础类和衍生类定义了相同名称的成员函数,那么通过对象指针调转载 2015-11-04 21:39:28 · 3670 阅读 · 0 评论 -
C++ 初始化列表
C++ 初始化列表何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; i转载 2015-11-02 10:52:41 · 288 阅读 · 0 评论 -
浅谈C++类--隐式类类型转换
转载自 “九天雁翎”链接:http://blog.csdn.net/vagrxie/article/details/1586340例4.0:#include #include using namespace std;class Fruit //定义一个类,名字叫Fruit{ string name; //定转载 2015-11-02 16:28:01 · 290 阅读 · 0 评论 -
深入C++的new
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:clas转载 2015-11-02 15:27:10 · 206 阅读 · 0 评论 -
C++类构造函数初始化列表顺序
http://www.cnblogs.com/BlueTzar/articles/1223169.htmlC++类构造函数初始化列表构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public: int a; float转载 2015-11-03 13:42:24 · 814 阅读 · 0 评论