//被获取private成员的类 class Cat{ public: Cat(string name):_name(name){}; template <class T> void run(T t){}; private: string _name; }; //法一 namespace { struct Y{}; } template <> void Cat::run(Y y){//该函数可以随便由客户编写,且不会影响其他使用该类的客户. cout<<_name<<endl; }; //法二 class Fake_cat{ public: string _name; }; int main(){ Cat blue_cat("kk"); //法一 Y tmp; blue_cat.run(tmp); //法二 Fake_cat* fake = reinterpret_cast<Fake_cat*>(&blue_cat); cout<<fake->_name<<endl; }
点赞 2

相关推荐

我只是一个小白菜:我还用不惯m4,也是山猪吃不了细糠了
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务