上一页 1 ··· 24 25 26 27 28
  2012年9月9日
摘要: 重载、覆盖、多态与函数隐藏 经常看到C++的一些初学者对于重载、覆盖、多态与函数隐藏的模糊理解。在这里写一点自己的见解,希望能够C++初学者解惑。 要弄清楚重载、覆盖、多态与函数隐藏之间的复杂且微妙关系之前,我们首先要来回顾一下重载覆盖等基本概念。 首先,我们来看一个非常简单的例子,理解一下什么叫函数隐藏hide。 #include <iostream> using namespace std; class Base{ public: void fun() { cout << "Base::fun()" << endl; } }; cla 阅读全文
posted @ 2012-09-09 13:51 bitbit 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 图文例解C++类的多重继承与虚拟继承图文例解C++类的多重继承与虚拟继承文章导读:C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。 在过去的学习中,我们始终接触的单个类的继承,但是在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。 举个例子,交通工具类可以派生出汽车和船连个子类,但拥有汽车和船共同特性水陆两用汽车就必须继承来自汽车类与船类的共同属性。 由此我们不难想出如下的图例与代码: 当一个派生类要使用多重继承的时候,必须在派生类名和冒号之后... 阅读全文
posted @ 2012-09-09 13:50 bitbit 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 如何根据异常提示信息找出程序出错代码LINUX 编程 2010-06-23 22:44:10 阅读136 评论0 字号:大中小订阅看到网上说在debug下可以找到预料的崩溃地址行,但是实际上没有什么用呀。(既然在debug下,那直接用调试器找不更好吗? 费这么大劲干什么)(转的文章在后面)Release版本(指编译器优化后的),要找崩溃地址行就比较费劲了。linux下的方法:1、使之生成core dump文件2、gdb调试该core文件3、根据大概的堆栈信息,运行disassemble (具体用法见gdb帮助)4、根据崩溃地址找到对应的崩溃反汇编码5、分析反汇编代码,找到程序中崩溃代码。(如果 阅读全文
posted @ 2012-09-09 13:49 bitbit 阅读(3941) 评论(0) 推荐(0) 编辑
摘要: C++的重写,重载,重定义1. 重写 (override):(又称覆盖) 父类与子类之间的多态性。子类重新定义父类中有相同名称和参数的虚函数。1) 被重写的函数不能是 static 的。必须是 virtual 的,或者是 override 的 ( 即函数在最原始的基类中被声明为 virtual , c++ 中没有 override) 。2) 重写函数必须有相同的类型,名称和参数列表 (即相同的函数原型)3) 重写函数的访问修饰符可以不同。尽管 virtual 是 private 的,派生类中重写改写为 public,protected 也是可以的 ( 这点与 C# 完全不同 )注:一旦子类重写 阅读全文
posted @ 2012-09-09 13:47 bitbit 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 下面是一个智能指针的实现,很好,可以多多采用。#ifndef SMART_PTR_H#define SMART_PTR_H//智能指针,可以加入set或map,利用其排序参数进行排序//set或map调用clear或erase会调用SmartPtr析构函数,不再被引用的数据指针会被deletetemplate <class T>class SmartPtr{ private: T* ptr; // pointer to the value 指针 long* count; // shared number of owners 计数 public: //initialize point 阅读全文
posted @ 2012-09-09 13:44 bitbit 阅读(410) 评论(0) 推荐(0) 编辑
  2012年9月5日
摘要: 加油!!!2014完成转摘300篇。本月到100篇。 阅读全文
posted @ 2012-09-05 21:02 bitbit 阅读(170) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28