C++构建函数使用介绍

📅 2026/7/13 6:45:00 👁️ 阅读次数 📝 编程学习
C++构建函数使用介绍

构造函数概念:

构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次(创建对象)

作用:

创建一个对象(面向对象,第一步肯定得创建对象)并且数据成员都有初始数值(数值有初始化和赋值)

初始化和赋值区别

  • 初始化(数值在构建函数中给予)
  • 赋值(数值在构建函数完成之后给予)

初始化(数值在构建函数中给予)

1

2

3

4

5

6

7

8

9

10

11

#ifndef __COMPLEX__

#define __COMPLEX__

classcomplex

{

public:

complex(doubler = 0,doublei = 0)

: re(r), im(i) {}//初始化

private:

doublere, im;

};

#endif // !__COMPLEX__

1

2

3

4

5

6

#include"complex.h"

intmain()

{

complex c1(1, 1);

return0;

}

1.调用构造函数

2.创建对象名字为c1

3.对象中数据成员与函数参数对应,进行数值给予,生成对象的数据成员顺序是类中private的顺序

4.对象c1创建成功

赋值(数值在构建函数完成之后给予)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#ifndef __COMPLEX__

#define __COMPLEX__

classcomplex

{

public:

complex(doubler = 0,doublei = 0)//名字与类名相同

{

re = r;

im = i;

}

private:

doublere, im;

};

#endif // !__COMPLEX__

1

2

3

4

5

6

#include"complex.h"

intmain()

{

complex c1(1, 1);

return0;

}

1.调用构造函数

2.创建对象名字为c1

3.构建函数中没有初始化,编译器自动加上初始化操作,对数据成员进行随机数初始化

4.对象c1创建成功

5.函数中输入的两个参数,函数执行命令行,对数据进行赋值

如何得知两则区别

tihs指针

this指针中存储的是自己对象的地址

在两者构造函数中使用this指针,初始化操作因为类对象完成初始化前,类对象还未形成,所以会对this报错

初始化中使用this

1

2

3

4

5

6

7

8

classcomplex

{

public:

complex(doubler = 0,doublei = 0)

:this->re(r),this-> im(i) {}

private:

doublere, im;

};

error: expected '{' before 'this'

赋值中使用this

1

2

3

4

5

6

7

8

9

10

11

classcomplex

{

public:

complex(doubler = 0,doublei = 0)

{

this->im = r;

this->re = i;

}

private:

doublere, im;

};

到此这篇关于C++构建函数使用介绍的文章就介绍到这了