读书人

【C/C++】在一个种中重载另一个类的构

发布时间: 2012-12-26 14:39:28 作者: rapoo

【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



读书人网 >C++

热点推荐