问个格式的问题
#include"iostream"
using namespace std;
class Egg
{
static Egg e;
int i;
Egg(int ii) : i(ii) {}//这句话是什么意思啊?这个冒号是什么作用的?
public:
...
...
};
恩,类的数据成员最好全在初始化列表里初始化,像简单数据类型还好,如果包含比如对象:Number num;
那么 Egg(int ii) :num(ii) {} 与 Egg(int ii) {num=num(ii);} 就有些差别了,后者就相当于:
Egg(int ii) :num() {num=num(ii);} 显然先调用了Number的默认构造函数,又调用了它的 operator=,才达到前者的效果,
所以说,尽可能把数据成员全在初始化列表里初始化,据说,Egg(**) :...... {/*空*/} 是最完美的,呵呵