#include <iostream>
using namespace std;
template <class T>
class A
{
T a;
public:
A(T a_=0) :a(a_)
{
cout << "A::constructor was called!"<<endl;
}
void Func( const T & p)
{
cout << "p.v=" << p.v << endl;
}
};
template <class T>
class B
{
private :
T v;
public:
B(T n):v(n)
{
cout << "B::constructor was called !" << endl;
}
template <class T2>
friend class A;
};
int main()
{
B<int> obj_b(5);
A<float> obj_a1(3.14);
A< B<int> > obj_a2(4);
obj_a2.Func (obj_b);
return 0;
}
转载请注明原文地址:https://blackberry.8miu.com/read-42588.html