C++基础 静态成员,析构函数显示调用 课本5.1
2012-12-28 17:02
656 查看
//============================================================================ // Name : 5.1.cpp // Author : zhaoming // Version : // Copyright : copyright to zhaoming // Description : Hello World in C++, Ansi-style //============================================================================ // C++课本上5.1是错的 #include <iostream> using namespace std; class LIST{ int value; LIST *next; static LIST *head; //声明静态数据成员 public: LIST(int value); ~LIST(); }; LIST *LIST::head = 0; //定义并初始化静态数据成员 LIST::LIST(int v) { value = v; next = head; head = this; } LIST::~LIST() { LIST *p = head; if(head == this) { head = this->next; }else{ while(p->next != NULL && p->next != this) //第二次调用b的析构函数时,p为null p = p->next; p->next = this->next; } cout << " "<< this->value<<" "; } int main() { LIST a(1); LIST b(2); LIST c(3); //b.~LIST(); //显示调用后,还会默认调用一次,导致出错 return 0; }
相关文章推荐
- C++基础4:构造函数、析构函数、拷贝构造函数、静态成员函数
- 关于函数指针调用C++非静态成员
- C++ 静态成员函数调用非静态成员函数方法
- C++基础学习笔记----第十一课(类的静态成员、对象模型初步认识)
- C++语言特性:构造函数,析构函数,虚函数,内联函数,静态成员函数,重载,覆盖,隐藏
- C++静态的方法调用成员
- Thinking in C++ ----第8,9,10章(const成员函数、内联函数、静态对象的析构函数调用时机)
- C++语法基础--恢复继承成员的访问级别,默认继承保护级别,友元关系与继承,继承与静态成员
- C++实例 静态成员的引入——静态数据成员的定义、调用,静态成员函数的实现、调用。
- [C++学习笔记]--析构函数、静态成员变量、静态成员函数
- C++中, 构造函数和析构函数能不能被显示调用?
- C++的静态成员函数,成员变量,构造函数,析构函数,拷贝构造函数
- 关于c++显示调用析构函数的陷阱
- [c++基础]运算符重载,共有数据保护,静态成员
- 为什么C++静态成员函数不能访问非静态成员变量、不能调用非静态成员函数?(面试常考)
- C++对dll链接库的显示(动态)调用和隐式(静态)调用
- C++基础(二)C/C++中的静态、非静态成员函数、变量
- C++基础(九)继承与派生——派生类成员的构造函数和析构函数
- C++中显示调用构造函数和析构函数
- C++中, 构造函数和析构函数能不能被显示调用?