C++ 构造函数
在 C++ 构造函数中,对于有默认的参数的构造函数时
#include<iostream> class complex { public: complex(double r = 0, double i = 0) // 1 : re(r), im(i) { std::cout << "construct 1" << std::endl; } complex() : re(0), im(0) { std::cout << "construct 2" << std::endl; } // 2 private: double re, im; }; int main() { // complex c1; // 3 complex c2(1,2); return 0; }
1 和 2 叫函数重载;
1 可以接收 2 个参数,2 可以不接受参数
但是这两个构造函数不能同时存在
因为 3 的这种构造函数,1 和 2 都可以调用,这样编译器就不知道该调谁了。