小工具知识网

当前位置: 首页 > 行业知识 > C++学习第四天(类与对象下)

行业知识

C++学习第四天(类与对象下)

2026-10-30 06:52:17 来源:互联网转载

1、构造函数的其他知识

构造函数体赋值

在创建对象���,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值

()

构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化,构造函数体中的语句只能将其称为赋初值,而不能称做初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值

初始化列表

概念:以一个冒号开始,接着是以一个逗号分隔的数据成员列表,每个成员变量后面跟着一个放在括号中的初始值或表达式

()
class Date{public:Date(int year, int month, int day):_year(year),_month(month),_day(day){}private:int _year;int _month;int _day;};

【Attention】

1、每个成员变量在初始化列表中只能出现一次

2、类中包含以下成员,必须放在初始化列表位置进行初始化:引用成员变量、const成员变量、自定义类型成员(且该类没有默认构造函数时)

class A{public:A(int a):_a(a){}private:int _a;};class B{public:B(int a, int ref):_aobj(a),_ref(ref),_n(10){}private:A _aobj;  //没有默认构造函数int& _ref; //引用const int _n;//const};

3、尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表进行初始化

4、成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关,例如下面的例题:

class A{public:A(int a):_a1(a),_a2(_a1){}void Print(){cout 

上一篇:服务器要怎么调试好使些?

下一篇:织梦CMS仿首页打造指南,快速构建迷人网站首页的秘诀!