C++中如何正确地使用构造函数
C++提供了两种使用构造函数来初始化对象的方式。第一种方式是显式地调用构造函数:
Stock food = Stock("World Cabbage",250,1.25);
这将 food 对象的 company 成员设置为字符串“World Cabbage”,将shares 成员设置为 250,依此类推。另一种方式是隐式地调用构造函数:
Stock garment("FurryMason",50,2.5);
这种格式更紧凑,它与下面的显式调用等价:
Stock garment = Stock("FurryMason",50,2.5));
每次创建类对象(甚至使用new动态分配内存)时,C++都使用类构造函数。下面是将构造函数与new起使用的方法:
Stock *pstock = new Stock("Electroshock Games",18,19.0);
这条语句创建一个 Stock 对象,将其初始化为参数提供的值,并将该对象的地址赋给 pstock 指针。在这种情况下,对象没有名称,但可以使用指针来管理该对象。参见【0voice C++】我们将在进一步讨论对象指针。
构造函数的使用方式不同于其他类方法。一般来说,使用对象来调用方法:
stock1.show(); //stockl object invokes show() method
但无法使用对象来调用构造函数,因为在构造函数构造出对象之前,对象是不存在的。因此构造函数被用来创建对象,而不能通过对象来调用。