12-使用构造函数
10.3.2 使用构造函数
C++提供了两种使用构造函数来初始化对象的方式。第一种方式是显式地调用构造函数:
Stock food = Stock("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指针。在这种情况下,对象没有名称,但可以使用指针来管理该对象。我们将在第11章进一步讨论对象指针。
构造函数的使用方式不同于其他类方法。一般来说,使用对象来调用方法:
stock1.show(); // stock1 object invokes show() method
但无法使用对象来调用构造函数,因为在构造函数构造出对象之前,对象是不存在的。因此构造函数被用来创建对象,而不能通过对象来调用。