C++:构造函数赋初值的几种形式

       构造函数用于类对象的初始化,没有返回值也不用写void,函数名与类名相同。构造函数可以有形参也可以无参,构造函数要写在类里边。语法:public: 类名(){ *** }。构造函数在创建对象(实例化)时会被调用且只有一次。因此构造函数经常用于给实例化对象赋初值。下面介绍几种构造函数赋初值的形式:
    一、无参构造函数():属性1(值1),属性2(值2){ 代码可写可不写 }; 实例化时初始值会自动赋到对象中。代码举例:

#include <iostream>
#include <string>
using namespace std;
class myClass
{
public:
	int val;
	string str;
	myClass():val(10),str("ABC")
	{  }
};
int main()
{
	myClass mc;
	cout << mc.val << "  " << mc.str << endl;
	system("pause");
	return 0;
}

实例化:myClass mc;

运行结果:
       10  ABC
        请按任意键继续. . .
        二、有参构造函数 (类型 变量1,类型 变量2): 属性1(变量1),属性2(变量2) {代码可写可不写};实例化时使用括号法赋值。代码举例:(部分代码)

class myClass
{
public:
	int val;
	string str;
	myClass(int val1,string str1):val(val1),str(str1)
	{  }
};

       实例化 myClass mc(20,"BCD");
       运行结果:
              20  BCD
              请按任意键继续. . .
        三、有参构造函数 (类型 变量1,类型 变量2){ 赋值代码必须写 };实例化时使用括号法赋值。代码举例:(部分代码)

class myClass
{
public:
	int val;
	string str;
	myClass(int val1,string str1)
	{
		val = val1;
		str = str1;
	}
};

       实例化: myClass mc(30,"CDE");
       运行结果:
             30  CDE
             请按任意键继续. . .
       四、有参构造函数 (类型 变量1=默认值1,类型 变量2=默认值2){赋值代码};实例化时使用括号法赋值,如不用括号法则使用默认值。代码举例:(部分代码)

class myClass
{
public:
	int val;
	string str;
	myClass(int val1=40,string str1="DEF")
	{
		val = val1;
		str = str1;
	}
};

      实例化 myClass mc;
      运行结果:
             40  DEF
             请按任意键继续. .
   总结以上几种形式,感觉最后一种使用起来最为方便。

相关推荐

  1. C++:构造函数初值形式

    2024-03-14 00:06:03       37 阅读
  2. mysql导出数据形式

    2024-03-14 00:06:03       47 阅读
  3. c#通信

    2024-03-14 00:06:03       22 阅读
  4. C++开发基础之函数参数传递类型

    2024-03-14 00:06:03       34 阅读
  5. 常见算法排序(C#)

    2024-03-14 00:06:03       57 阅读
  6. c++ 线程状态

    2024-03-14 00:06:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 00:06:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 00:06:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 00:06:03       82 阅读
  4. Python语言-面向对象

    2024-03-14 00:06:03       91 阅读

热门阅读

  1. 蓝桥杯 连号区间数

    2024-03-14 00:06:03       45 阅读
  2. Docker 进阶

    2024-03-14 00:06:03       37 阅读
  3. 用python实现支付宝就推出了“集五福”这个活动

    2024-03-14 00:06:03       37 阅读
  4. 你真的理解ssh吗?5分钟ssh入门到精通

    2024-03-14 00:06:03       36 阅读
  5. 什么是回调地狱

    2024-03-14 00:06:03       34 阅读
  6. 【无标题】

    2024-03-14 00:06:03       39 阅读
  7. 77.组合

    2024-03-14 00:06:03       33 阅读