21xrx.com
2024-12-22 21:40:10 Sunday
登录
文章检索 我的文章 写文章
C++有参构造函数:如何定义和使用
2023-07-05 11:13:17 深夜i     --     --
C++ 有参构造函数 定义 使用

C++中的有参构造函数是指在对象创建时,需要传入参数进行初始化的构造函数。与之对应的是无参构造函数,它可以用于对象的默认初始化。在实际编程中,使用有参构造函数可以方便地对对象进行初始化,以确保其正确性和可靠性。接下来,我们来详细了解如何定义和使用C++的有参构造函数。

一、定义有参构造函数

定义有参构造函数的基本语法如下所示:


class ClassName{

public:

 ClassName(参数列表){ // 构造函数体 }

};

其中,参数列表指的是在创建对象时需要传入的参数。构造函数体则是对对象进行初始化的代码块。需要注意的是,如果类中定义了有参构造函数,则编译器不会再自动生成默认的无参构造函数。

二、使用有参构造函数

使用有参构造函数时,我们需要在括号内指定具体的参数。例如:


class Student{

public:

 Student(string name, int age) : mName(name), mAge(age){ // 有参构造函数体 }

private:

 string mName;

 int mAge;

};

Student s("Tom", 20); // 创建一个名为Tom,年龄为20的学生对象

在上面的代码中,我们定义了一个Student类,并在其中定义了一个有参构造函数。该函数接收两个参数:name和age。在构造函数体中,我们将这两个参数分别赋值给mName和mAge成员变量。接着,我们可以通过传入具体的参数,如”Tom”和20,来创建一个名为Tom,年龄为20的学生对象。

三、有参构造函数的重载

和其他函数一样,我们也可以对有参构造函数进行重载。在这种情况下,它们的参数列表需要不同。例如:


class Student{

public:

 Student(string name, int age) : mName(name), mAge(age){ // 有参构造函数体1 }

 Student(int id) : mId(id){ // 有参构造函数体2 }

private:

 string mName;

 int mAge;

 int mId;

};

Student s1("Tom", 20); // 创建一个名为Tom,年龄为20的学生对象

Student s2(123456); // 创建一个ID为123456的学生对象

在上面的代码中,我们定义了一个名为Student的类,其中定义了两个有参构造函数。第一个构造函数接收两个参数:name和age,分别用于初始化mName和mAge成员变量。第二个构造函数接收一个参数:id,用于初始化mId成员变量。通过传入不同的参数,我们可以分别创建不同的对象。

总结

有参构造函数是C++中的重要概念,它可以用于对象的初始化,提高代码的可读性和可靠性。在使用时,我们需要定义构造函数并指定参数列表,并在创建对象时传入具体的参数。如果有多个有参构造函数,可以对它们进行重载,以实现不同的初始化逻辑。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复