C++类的初始化列表

	#include <iostream>
	
	using namespace std;
	
	class Stu
	{
	public :
		int number;
		string name;
		char gender;
		int age;
		Stu(int, string, char, int);
		void show();
	};
	//初始化列表的构造方法
	Stu::Stu(int n, string s, char c, int a) : number(n), name(s), gender(c), age(a){}
	
	
	//下面的构造方法有错误
	//Stu::Stu(int n, string s, char c, int a) : number(age), name(s), gender(c), age(a){}
	//初始化顺序是按照类中声明的顺序进行的,编译器先初始化number = age ,此时age没有值,number将是不确定的值
	
	
	int main()
	{
		Stu* stu = new Stu(1234, "jkl", 'm', 22);
	
		cout << "number:" << stu->number << endl;
		cout << "age:" << stu->age << endl;
	
		system("pause");
		return 0;
	}

猜你喜欢

转载自blog.csdn.net/weixin_43340991/article/details/86660021