在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++提供了多种方法来实现构造函数,使用者可以根据自己的需要选择合适的方式来实现构造函数,从而达到实现类的构造函数的目的。