欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
今天突然脑袋一闪,写出这样的代码。
这样就能 不用在Ta中添加friend class ,
只要实现Tb 就能访问Ta的private 属性了。
应该是比较奇葩的代码吧 。。。。。
#include <iostream> using namespace std; template<typename T> class Ta { public: Ta(){ m_ta = 1; } friend T; //这里要注意 没有class private: int m_ta; }; class Tb { public: void print(Ta<Tb> ta) { cout << ta.m_ta << endl; } }; class Tc { public: void print2(Ta<Tc> ta) { cout << ta.m_ta << endl; } }; int _tmain(int argc, _TCHAR* argv[]) { Ta<Tb> ta; Tb tb; tb.print(ta); Ta<Tc> tac; Tc tc; tc.print2(tac); return 0; }
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
时间: 2024-10-09 12:33:07