- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 析构函数(虚的)
写成虚的是为了在实现多态的时候不造成内存泄露, 比如: class a { int aa; public: virtual ~a(){}; }; class b : public a { int bb; }; 如果你这样: a *pa = new b; // upcast 然后这样: delete pa; 这句delete, 如果你基类的析构函数不是虚的的话, 就会造成内存泄露
2013-09-17 21:30:40 410
原创 构造函数
构造函数用来处理对象的初始化 C++的构造函数定义格式为:class {public:(参数表)//...(还可以声明其它成员函数)};::(参数表){//函数体}如以下定义是合法的:class T{public:T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。private:int i;}; 例子:#include using namespace std;c
2013-09-17 21:16:26 352
转载 C++析构函数的定义和使用
析构函数(destructor)也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。 在C++中“~”是位取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。当对象的生命期结束时,会自动执行析构函数。 具体地说如果出现以下几种情况,程序就会执行析构函数: ①如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象
2013-09-14 11:17:17 1916
原创 linux下初调C++的错误
hello world的C++程序 (后缀.cpp) 起初出现错误:gcc 出现 cc1plus': execvp: 没有那个文件或目录 错误 网上搜索后发现应该使用:sudo apt-get install g++ 还是错误:execvp: 没有那个文件或目录 错误 最后发现应该先使用:sudo apt-get install upgrade然后在安装g++ 问题解决 g++
2013-09-13 21:47:04 343
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人