在C++中,构造方法是一种特殊的函数,它可以在创建对象时自动调用。它的作用是为类的对象分配资源,并将其初始化为某种状态。构造函数的名称与类的名称相同,而且不包含任何返回类型,也没有返回值。
实现构造函数的方法
//定义类 class Student { public: //构造函数 Student(int id, string name) { this->id = id; this->name = name; } private: int id; string name; };
上面的代码定义了一个名为Student的类,它有两个成员变量,分别是id和name。它还定义了一个构造函数,它接受两个参数,分别是id和name,并将这两个参数分别赋值给类的两个成员变量。这样,当创建一个Student类的对象时,就可以使用构造函数来初始化这个对象。
除了定义构造函数,C++还提供了一些其他的方法来实现构造函数,例如使用默认参数、缺省构造函数和拷贝构造函数等。
默认参数
//定义类 class Student { public: //构造函数 Student(int id = 0, string name = "") { this->id = id; this->name = name; } private: int id; string name; };
上面的代码定义了一个名为Student的类,它有两个成员变量,分别是id和name。它还定义了一个构造函数,它接受两个参数,分别是id和name,并将这两个参数设置为默认参数,这样,当创建一个Student类的对象时,如果不指定参数,则会使用默认参数。
缺省构造函数
//定义类 class Student { public: //构造函数 Student() { this->id = 0; this->name = ""; } private: int id; string name; };
上面的代码定义了一个名为Student的类,它有两个成员变量,分别是id和name。它还定义了一个构造函数,它不接受任何参数,只是将类的两个成员变量初始化为默认值。这样,当创建一个Student类的对象时,就可以使用缺省构造函数来初始化这个对象。
拷贝构造函数
//定义类 class Student { public: //构造函数 Student(const Student& other) { this->id = other.id; this->name = other.name; } private: int id; string name; };
上面的代码定义了一个名为Student的类,它有两个成员变量,分别是id和name。它还定义了一个构造函数,它接受一个Student类的参数,并将这个参数拷贝给类的两个成员变量。这样,当创建一个Student类的对象时,就可以使用拷贝构造函数来初始化这个对象。
C++提供了多种方法来实现构造函数,使用者可以根据自己的需要选择合适的方式来实现构造函数,从而达到实现类的构造函数的目的。