摘要: [C++基础]023_为什么要将基类的析构函数声明为Virtual? 1 #include <iostream> 2 using namespace std; 3 4 class Father{ 5 6 public: 7 ~Father(){ 8 cout<<"Father's Desconstruct Called."<<endl; 9 }10 };11 12 class Son : public Father{13 public:14 ~Son(){15 cout<<"Son's Descons 阅读全文
posted @ 2013-03-19 14:38 小薇林 阅读(300) 评论(1) 推荐(0) 编辑
摘要: [C++基础]021_浅拷贝和深拷贝浅拷贝:即类中有指针成员变量,拷贝时,只拷贝了指针变量,而没有拷贝指针变量所指向的地址块。实例代码: 1 #include <iostream> 2 using namespace std; 3 4 class Tree{ 5 public: 6 // 拷贝构造函数 7 Tree(const Tree& tree){ 8 this->num = tree.num; 9 }10 // 构造函数11 Tree(){12 num = new int(10);13 }14 //... 阅读全文
posted @ 2013-03-19 14:23 小薇林 阅读(161) 评论(0) 推荐(0) 编辑
摘要: C++0x引入了很多令人兴奋的好东西,其一便是右值引用。右值引用到底是什么意思呢?而与因此被命名为左值引用的用法有什么不同呢?本文将为你揭晓。 阅读全文
posted @ 2013-03-19 00:35 小薇林 阅读(203) 评论(0) 推荐(0) 编辑
摘要: [C++基础]019_指针和引用(int*、int&、int*&、int&*、int**)相信很多CPPers跟我一样,曾经在指针和引用里徘徊了很久很久。经常弄混指针和引用,尤其是见到如题中列出那些用法,着实是伤脑经。后来,在项目中用着用着,就能搞清楚区别了,算是会用吧。然而,对于一个Programmer,最忌讳的就是不知其所以然,会用和懂是两番天地。停留在会用的人,始终是原地打转;而懂的人,一通百通,能举一反三。本文,就如题的指针和引用的用法做一个介绍。首先我们来普及一下概念,说明一下什么是指针和引用,这里借用一下变量名作为过渡。 ■指针 ---- 指向某一块内存的变 阅读全文
posted @ 2013-03-19 00:14 小薇林 阅读(378) 评论(3) 推荐(0) 编辑
摘要: [C++基础]018_常量指针和指向常量的指针先来看一下什么是常量指针,什么是指向常量的指针吧!1. 常量指针定义1 int * const ptr = new int();2. 指向常量的指针1 const int* ptr;上面已经看到常量指针和指向常量的指针是如何定义的了,那么他们有什么特点呢?1. 常量指针无法改变指针的值,即无法改变该指针指向的地址。因此,在定义常量指针的时候,必须要为其指定一个地址。即代码中的new int()。2. 指向常量的指针所指向的值是无法更改的,即不能修改,不能销毁。如果对指向常量的指针进行delete操作的话,编译阶段就会报错。上述二者的组合是什么呢.. 阅读全文
posted @ 2013-03-19 00:09 小薇林 阅读(201) 评论(0) 推荐(0) 编辑
摘要: [C++基础]017_数据的存放学习写程序,就不能不对程序的数据存放有一定的了解。可能你常常听说栈啊、堆啊什么的,下面咱们看看数据的存放有哪几个位置。①.栈区 存储【函数参数】以及【局部变量】,由编译器自动分配和释放②.堆区 存储程序员动态创建的对象,由程序员创建和释放③.寄存器区 存储栈顶指针(SP)和指令指针(IP),由操作系统负责④.全局区(静态区) 存储全局变量(静态变量),由操作系统负责,一般程序运行结束销毁⑤.文字常量区 存储常量字符串,比如代码中定的“HelloWorld”等,由操作系统负责⑥.程序代码区 存储代码段内容,学过汇编的... 阅读全文
posted @ 2013-03-19 00:03 小薇林 阅读(188) 评论(0) 推荐(0) 编辑