#include<iostream>
#include<string>
using namespace std;
class card
{
public:
card(int a,string b)
{
index=a;
password=b;
}
int index;
string password;
};
class student
{
public:
1. student(string a,int b,string c):m_name(a),m_card(b,c){} //right
2. student(string a,int b,string c)
{
m_name=a;
card m_card(b,c); //error
}
string m_name;
card m_card;
};
void f()
{
student hfj("hanfeijiang",0213,"hfj020709");
cout << hfj.m_name << endl;
cout << hfj.m_card.index << endl;
cout << hfj.m_card.password << endl;
}
int main()
{
f();
return 0;
}
想问一下在class student中那两种student含参构造函数,为什么第一种直接使用初始化列标就正常赋值,第二种就错误。