Data(const string& str = ""):s1(str){} 与
Data(const string& str = ""){
s1=str;
}等价吗?为什么?1中 :s1(str){} 是什么意思?
等价1中的s1(str)是构造函数的初始化列表,可以在函数后面加冒号直接对成员变量进行初始化,不用写在函数体内