构造函数不能时虚函数.创建派生类对象时,将调用派生类的构造函数,而不是基类的构造函数,然后,派生类的构造函数将使用基类的一个构造函数,这种顺序不同于继承机制.因此,派生类不继承基类的构造函数,所以将类构造函数声明为虚函数无意义.析构函数应当是虚函数,除非类不用做基类.默认的称作"静态联编".// H...
分类:
其他好文 时间:
2015-08-13 13:41:05
阅读次数:
87
为什么有时候需要把析构函数定义为虚函数 析构函数的作用是在对象撤销之前做必要的清理现场的工作,当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后在调用基类的析构函数,但是用new运算符建立了一个派生类对象,并且把他赋给基类指针,那么当用delete运算符撤销这个指针指向的存储空间的时候,....
分类:
其他好文 时间:
2015-08-13 11:41:55
阅读次数:
117
auto_ptr它是C++标准库()为了一个智能指针类模板来解决资源泄漏所提供的问题(注意:这只是一个简单的智能指针)auto_ptr在事实原则的实现RAII,对资源的访问,在施工时间。释放资源时,析构函数,而相关的指针操作超载。使用起来就像普通的指针。std::auto_ptr pa(new Cl...
分类:
编程语言 时间:
2015-08-13 08:49:24
阅读次数:
229
程序示例 1 #include 2 using namespace std; 3 class a 4 { 5 public: 6 a(){cout<<"构造a"<<endl;} 7 ~a(){cout<<"析构a"<<endl;} 8 }; 9 class b10 {11 publ...
分类:
其他好文 时间:
2015-08-11 00:00:10
阅读次数:
354
1 #include 2 #include 3 4 using namespace std; 5 6 class FatherClass 7 { 8 public: 9 FatherClass();10 ~FatherClass();11 };12 13 FatherCla...
分类:
其他好文 时间:
2015-08-10 09:24:14
阅读次数:
107
一.相关知识点
重载new和delete
当创建一个new表达式时有两件事发生。首先,使用运算符new分配内存,然后调用构造函数。在delete表达式里,调用析构函数,然后使用运算符delete释放内存。我们永远无法控制构造函数和析构函数的调用(否则我们可能意外地搅乱它们),但可以改变内存分配函数运算符new和delete。
被new和delete使用的内存分配系统是为通用目的...
分类:
编程语言 时间:
2015-08-10 00:33:29
阅读次数:
141
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5355
题面:
Cake
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1632 Accepted Submi...
分类:
其他好文 时间:
2015-08-08 16:39:00
阅读次数:
126
// 双向线性链表容器
#include
#include
#include
using namespace std;
// 链表类模板
template
class List
{
public:
// 构造、析构、支持深拷贝的拷贝构造和拷贝赋值
List(void) : m_head(NULL), m_tail(NULL) {}
~List(void)
{
clear();
...
分类:
编程语言 时间:
2015-08-07 00:26:57
阅读次数:
139
析构函数(destructor)1、长什么样class Car{ ~ Car() // destructor { // cleanup statements... }}(1)析构函数名与类名相同,只是在函数名前面加一个波浪符~,析构函数既没有修饰...
分类:
其他好文 时间:
2015-08-06 20:00:22
阅读次数:
120
话说现在我已经习惯了这种生活,以前俺是中午不睡觉会死星人,现在感觉不睡觉也就是那样了,准备把自己的时间好好安排一下了,由于我是在培训班,所以每天的时间也很紧的,以前打算每天晚上更新博客的,现在看来实现不了了。我决定在每天中午,回顾前天学习的内容,并巩固上午..
分类:
编程语言 时间:
2015-08-06 15:15:34
阅读次数:
198