Loading

摘要: 查看更加详细的解析请参考这篇文章:http://blog.51cto.com/9291927/2148695 看一个静态绑定的例子: 1 #include <iostream> 2 3 using namespace std; 4 5 class A 6 { 7 public: 8 int a = 阅读全文
posted @ 2018-07-24 18:03 拾月凄辰 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:https://www.cnblogs.com/cxq0017/p/6074247.html C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型 阅读全文
posted @ 2018-07-24 10:40 拾月凄辰 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 一、继承限定词(不写的话默认是private) class X : public Y public: 父类怎样,子类怎样 protected:父类的public在子类中变成protected private: 父类的pubic和protected在子类中都变成private 总结:(注意区分 子类中 阅读全文
posted @ 2018-07-24 10:39 拾月凄辰 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一、拷贝构造函数 浅拷贝: 1、如果类未定义自己的拷贝构造函数,编译器会为它合成一个默认拷贝构造函数(默认合成的是public的)。 拷贝构造函数从来不显式调用,而是由编译器隐式地调用。在以下三种情况: (1)定义对象Object a;Object b(a); // 或写成 Object b = a 阅读全文
posted @ 2018-07-24 10:38 拾月凄辰 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 一、内联成员函数 如果有的成员函数需要被频繁调用,而且代码比较简单,则这个函数可以定义为内联函数。内联函数的函数体会在编译时被插入到每一个调用它的地方,这样做可以减少调用的开销(函数的调用过程要消耗一些内存资源和运行时间来传递参数和返回值),提高执行效率,但是会增加编译后代码的长度。 内联函数的声明 阅读全文
posted @ 2018-07-24 10:37 拾月凄辰 阅读(301) 评论(0) 推荐(0) 编辑
摘要: C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 deque是一个双端队列(do 阅读全文
posted @ 2018-07-21 16:22 拾月凄辰 阅读(882) 评论(0) 推荐(1) 编辑
摘要: (1)try语句块内抛出的异常将被catch的参数(形参)捕获,然后在catch语句块内处理此捕获的异常。 (2)当执行一个throw时,跟在throw后面的语句将不再被执行,程序的控制权由此转移到与之匹配的catch语句块。 (3)为了一次性捕获所有异常,可以使用省略号作为异常声明,即catch( 阅读全文
posted @ 2018-07-21 12:53 拾月凄辰 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 单例模式 概念:只能创建一个对象的类 实现关键: 1、所有构造函数都必须是private的(包括带参构造,拷贝构造,赋值运算符) 2、通过static成员函数申请对象空间,并返回地址 3、定义一个静态标记,记录对象的个数,并控制 4、析构函数将标记清空,以达到重复申请对象的目的,析构函数是publi 阅读全文
posted @ 2018-07-21 11:17 拾月凄辰 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 一、返回值问题 1 #include <iostream> 2 3 using namespace std; 4 5 class X 6 { 7 public: 8 int a = 3; 9 X set1(int b) 10 { 11 a = b; 12 return *this; 13 } 14 阅读全文
posted @ 2018-07-17 18:15 拾月凄辰 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream.h> 2 3 class CExample 4 { 5 int m_nTest; 6 public: 7 8 CExample(int x):m_nTest(x) //带参数构造函数 9 { 10 cout << "constructor with argu 阅读全文
posted @ 2018-07-13 13:02 拾月凄辰 阅读(316) 评论(0) 推荐(0) 编辑