完整代码。行数稍后指定。
#include <iostream>
#include <string>
using namespace std;
class X
{
private:
int i;
float f;
char c;
public:
X(int first=1, float second=2.0, char third='a') : i(first) , f(second) , c(third) { }
void print() { cout << i << " " << f << " " << c << endl;}
};
int main()
{
X var1;
var1.print();
return 0;
}
这一行到底发生了什么:
X(int first=1, float second=2.0, char third='a') : i(first) , f(second) , c(third) { }
据我理解(可能不准确),我们正在声明类型(类)为 X 的对象 first、second 和 third。我们在声明时对它们进行了初始化。冒号后面发生了什么?整体上又是怎样的情况呢?