使用默认构造函数
什么也不做的构造函数有什么好处呢?首先,这是一个格式的问题。所有对象都必须被构造和析构,在适当的时候将调用这些不进行任何操作的函数。然而,要声明一个不传递参数的对象,例如:
Cat Rags
你必须定义一个如下的构造函数:
Cat();
当你定义某个类的对象时,调用该构造函数。如果Cat构造函数有两个参数,你就应该这样定义Cat对象:
Cat Frisky (5,7);
如果构造函数只有一个参数,你就应该这样写
Cat Frisky (3);
而如果构造函数都必须有圆括号,即使其无任何参数,这里是一个例外,这就是你为什么要写下源代码的原因:
Cat Frisky;
这行代码可以解释为调用默认构造函数。由于没有任何参数,因此不需要括号。
请注意,你不必非要用编译器提供的默认构造函数。你可以随意加入自定义的一个函数体,在其中对类进行初始化。