成员以其在类中声明的顺序构造

时间:2022-04-22
本文章向大家介绍成员以其在类中声明的顺序构造,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

分析以下代码的输出:

#include<iostream>
using namespace std;

class A
{
public:
	A(int j):age(j) , num(age + 1)
	{
		cout<<"age:"<<age<<",num:"<<num<<endl;
	}
protected:
	int num;
	int age;
};

void main()
{
	A sa(15);
}

 运行结果:age:15 , num:2(num为一个随机数)

由于按成员在类定义中的声明顺序进行构造,而不是按构造函数说明中冒号后面的顺序,所以num成员被赋得是一个随机值,并不是想赋的16,因为这个时候,成员age还没有被赋值,age的内存空间中是一个随机值。