在C++中有两种使用构造函数来初始化对象的方式,而第一种就是显式的调用构造函数,现举例代码:
Stock food = Stoock("World Cabbage", 250, 1.25);
这种将food对象的company成员设置成字符串“world cabbage”,将shares成员设置成250,依此类推,而另一种是隐式的调用构造函数:
Stock garment ("Furry Mason", 50, 2.5);
这种格式会更加紧凑,而它与下面的显式调用等价:
Stock garment = Stock("Furry Mason", 50, 2,5));
每次创建类对象(甚至使用new动态分配内存的时候),C++都使用类构造函数。下面是将构造函数与new一起使用的方法:
Stock *pstock = new Stock("Electroshock Games", 18, 19.0);
这条语句创建一个Stock对象,将其初始化为参数提供的值,将该对象的地址赋予给pstock指针,在这种情况下,对象没有名称,但可以使用指针来管理对象,而使用对象来调用的方法:
stock1.show(); //stock object invoke show() method
但无法使用对象来调用构造函数,因为构造函数在构造对象之前,对象并不存在。因此构造函数被用来创建对象,而不能通过对象来调用