21xrx.com
2024-12-22 23:49:28 Sunday
登录
文章检索 我的文章 写文章
C++类的初始化和赋值方式
2023-07-02 10:38:10 深夜i     --     --
C++ 初始化 赋值 方式

在C++编程中,类是一种自定义的数据类型。它可以封装一些数据和操作,使代码结构更易于理解和维护。当我们创建一个类的对象时,需要进行初始化和赋值,以便给类的成员变量赋值或者调用类的构造函数。

类的初始化:

1.默认构造函数初始化

默认构造函数是一种没有参数的构造函数,当我们创建一个类的对象时,如果没有指定构造函数,则会调用默认构造函数进行初始化。

例如:

class Person

public:

  std::string name;

  int age;

;

Person p1; // 默认构造函数

在这个例子中,我们没有指定构造函数,所以会调用默认构造函数。p1对象的name成员变量将初始化为空字符串,age成员变量将初始化为0。

2.带参数的构造函数初始化

如果类定义了一个带参数的构造函数,那么在创建对象时就可以传入参数进行初始化。

例如:

class Person {

public:

  std::string name;

  int age;

  Person(std::string n, int a): name(n), age(a) {}

};

Person p2("Tom", 20); // 调用带参数的构造函数进行初始化

在这个例子中,我们定义了一个带参数的构造函数,可以在创建对象时传入name和age参数进行初始化。

类的赋值:

1.使用赋值运算符

赋值运算符(=)可以将一个对象的值赋给另一个对象。如果我们定义了一个赋值运算符函数,可以使用类似于内置类型的赋值方式来进行赋值。

例如:

class Person {

public:

  std::string name;

  int age;

  Person& operator=(const Person& p) {

    name = p.name;

    age = p.age;

    return *this;

  }

};

Person p1("Tom", 20);

Person p2;

p2 = p1; // 使用赋值运算符

在这个例子中,我们定义了一个赋值运算符函数,可以使用p1赋值给p2。

2.拷贝构造函数

拷贝构造函数用于创建一个新对象,使用已有对象的值作为构造函数参数进行初始化。当我们使用一个对象初始化另一个对象时,会调用拷贝构造函数。

例如:

class Person {

public:

  std::string name;

  int age;

  Person() {}

  Person(const Person& p): name(p.name), age(p.age){}

};

Person p1("Tom", 20);

Person p2(p1); // 调用拷贝构造函数

在这个例子中,我们使用p1初始化了p2,会调用拷贝构造函数进行初始化。

以上就是C++类的初始化和赋值方式的介绍。在实际编程中,我们需要根据需求选择不同的方式进行类的初始化和赋值。

  
  

评论区

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