【C/C++】在一个类中重载另一个类的构造函数 ----构造函数是一个特殊的操作符
假设我们有两个类A,B
#include <iostream>#include <string>#include <vector>using namespace std;class A{public: A(int n) : a(n){} void Print() {cout << a << endl;}private: int a; };class B{public: operator A() const { return A(b); } void SetVal(int a) {b = a;}private: int b; };int main(){ B objB; objB.SetVal(5); A objA(objB); objA.Print(); objB.SetVal(10); vector<A> vecA; vecA.push_back(objB); vecA[0].Print(); return 0;}
输出结果:
5
10