欢迎加入我们的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