class d : private b, private c { public: b::bstatus; //鎴栬卌::bstatus 鏁堟灉涓鏍?br> d(){ cout << "class d:bstatus value address " << &bstatus <<endl; } };
int main() { d obj;
cout << obj.bstatus <<endl;
return 0; }
杈撳嚭緇撴灉: class a:bstatus value address 0012FF7C class b:bstatus value address 0012FF7C class c:bstatus value address 0012FF7C class d:bstatus value address 0012FF7C 0
------------------- //bstatus鍐呭瓨鍦板潃涓鏍? 鏃lass a, class b, class c, class d鍏辯敤class a鐨刡Status
]]>re: C++Primer 璇諱功絎旇19 澶氱戶鎵垮拰铏氭嫙緇ф壙http://www.shnenglu.com/jianc/archive/2012/04/11/169532.html#170875azazWed, 11 Apr 2012 02:57:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/11/169532.html#170875鍋囪ō鎯寵class a, class b, class c 鍜宑lass d 閮借鍏辯敤class a鐨刡Status (class a鍏朵粬鐨勬垚鍝¤硣鏂欐垨鍑藉紡閮絧rivate inheritance璧蜂締鍙暀bStatus 緄nheritance鐨刢lass鍏辯敤)
]]>re: C++Primer 璇諱功絎旇19 澶氱戶鎵垮拰铏氭嫙緇ф壙http://www.shnenglu.com/jianc/archive/2012/04/10/169532.html#170795jiancjiancTue, 10 Apr 2012 11:17:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/10/169532.html#170795class d : public b, public c { public: b::bstatus; //鎴栬卌::bstatus; };
]]>re: C++Primer 璇諱功絎旇19 澶氱戶鎵垮拰铏氭嫙緇ф壙http://www.shnenglu.com/jianc/archive/2012/04/10/169532.html#170750azazTue, 10 Apr 2012 03:15:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/10/169532.html#170750class a { public: bool bstatus; void aa1(){} void aa2(){} }; class b : virtual private a { public: a::bstatus;//鍥炲偝false or true }; class c : virtual private a { public: a::bstatus;//鍥炲偝false or true };
class d : puclib b, public c { //鐣墮欓倞鐢ㄥ埌bstatus 鏈冪敘鐢焌mbiguous } 璜嬪晱鏈変粈楹兼柟娉曞彲浠ラ伩鍏嶅棊?