最新回答 / 爱于万化
当没有自己定义的时候,系统都会自动生成。但是系统生成的构造函数和析构函数是空函数,没有实际作用。定义构造函数可以发给类成员设置默认值等等,同样的,如果我们的类数据成员包含了从堆中申请的内存,类的析构函数就应当加入包含释放堆中内存的语句。或者我们需要程序在对象解散时在屏幕上输出提示信息,也可以在类的析构函数中加入提示信息。
2016-01-19
最新回答 / 大万万
不是第一个,因为this指针不需要你自己显示的进行传递。当你定义类函数显示传递指针的时候,位置随意 指针名字你也可以随意定义(当然除了this,因为已经有了一个this指针了)!网上有资料说它的函数原型中this指针的位置是函数形参的第一个,但是这个我觉得已经超出了我们目前所了解的范围。
2016-01-10
最赞回答 / drivermonitor
因为A包含了对象B,也就是说要想“建造”A,必须先有B作为基础,所以,当对象B是对象A的一个数据成员时,先构造B,再构造A。可以利用代码简单跟踪一下:<...code...>
2016-01-01
最赞回答 / 大只茹
int *p = new int[5];此时p不仅是一个指针,指向数组的第一个元素,而且还可以做数组名使用,因此p[0],p[1],p[2]..依次表示数组元素的内容;而p,p+1..则存放的是数组各元素的地址;*p,*(p+1)..也表示数组元素的内容。
2015-12-05
最新回答 / 再吃一个苹果_
# include <iostream>using namespace std;class Coordinate{public: Coordinate(){cout << "Coordinate()" << endl;} ~Coordinate(){cout << "~Coordinate()" << endl;} int m_iX; int m_iY;};int main(){Coordinate coor[3];coo...
2015-11-24