class MyClass
{
template<class T1> friend void fun(MyClass<T1> &myclass);
template<class T1> friend ostream& operator<<(ostream& os, MyClass<T1>& myclass);
public:
T ta;
MyClass(T a)
{
ta = a;
}
};
template<class T1> void fun(MyClass<T1> &myclass)
{
cout << myclass.ta << endl;
}
template<class T1> ostream& operator<<(ostream& os, MyClass<T1>& myclass)
{
os << myclass.ta << endl;
return os;
}
void test()
{
MyClass<int> myclass(20);
fun(myclass);
cout << myclass;
}
{
template<class T1> friend void fun(MyClass<T1> &myclass);
template<class T1> friend ostream& operator<<(ostream& os, MyClass<T1>& myclass);
public:
T ta;
MyClass(T a)
{
ta = a;
}
};
template<class T1> void fun(MyClass<T1> &myclass)
{
cout << myclass.ta << endl;
}
template<class T1> ostream& operator<<(ostream& os, MyClass<T1>& myclass)
{
os << myclass.ta << endl;
return os;
}
void test()
{
MyClass<int> myclass(20);
fun(myclass);
cout << myclass;
}