// manyfrnd.cpp -- unbound template friend to a template class #include using std::cout; using std::endl; template class ManyFriend { private: T item; public: ManyFriend(const T & i) : item(i) {} template friend void show2(C &, D &); }; template void show2(C & c, D & d) { cout << c.item << ", " << d.item << endl; } int main() { ManyFriend hfi1(10); ManyFriend hfi2(20); ManyFriend hfdb(10.5); cout << "hfi1, hfi2: "; show2(hfi1, hfi2); cout << "hfdb, hfi2: "; show2(hfdb, hfi2); // std::cin.get(); return 0; }