纯娱乐,顺便复习C++。 请曾哥歌迷勿打击报复 mygirl.h #ifndef MYGIRL_H_ #define MYGIRL_H_ // 漂亮MM, 借<<表达我的爱慕之情 class PLMM { friend ostream& operator << (ostream& os, const PLMM& mm) { os << "哇, 美女!/n"; return os;} }; // 曾哥, 不多说了。。。 class ZengGe {}; // 我的女孩类模板 template <class Girl> class MyGirl { public: MyGirl(Girl g) { // 拒绝曾哥,见曾哥,抛异常 if(typeid(g) == typeid(ZengGe)) throw exception("我不要曾哥啊 - -b!"); m_girl = g; } public: void Show() const { cout << m_girl; } // 小show一下 private: Girl m_girl; }; #endif .cpp #include <iostream> using namespace std; #include "mygirl.h" int main() { PLMM plmm; MyGirl<PLMM> mg1(plmm); mg1.Show(); try { ZengGe zengge; MyGirl<ZengGe> mg2(zengge); } catch(exception& e) { cout << e.what(); } cin.get(); } 输出: 哇, 美女! 我不要曾哥啊 - -b!