已采納回答 / kid123
因為調用test1的時候,是調用類的默認拷貝構造函數,拷貝構造函數因為沒有在類內定義,所以是系統自帶的。調用test1的時候,不是調用程序員定義的默認構造函數,而是拷貝構造函數。拷貝構造函數的原型為:類名(const 類名 &變量名);
2016-04-06
最贊回答 / angeliaandlu
不管是哪種繼承方式,B類都將含有A類的所有數據成員,對于公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問;對于保護繼承的特點是基類的所有公有成員和保護成員都成為派生類的保護成員,并且只能被它的派生類成員函數或友元訪問,基類的私有成員仍然是私有的;對于私有繼承的特點是基類的公有成員和保護成員都作為派生類的私有成員,并且不能被這個派生類的子類所訪問。
2016-04-05
最贊回答 / JK89757
子類對象在main函數中是無法直接訪問本身private中的成員和函數,但是可以通過子類中的成員函數來訪問他們,再在main函數調用相應的成員函數,通過這種方法相當于間接的訪問了其父類在私有繼承中的公有成員和函數。
2016-03-21
已采納回答 / 男人海洋liu
soldier ?protected ?person ? ,infantry ?public soldier ?也就是說 m-strname 是在類infantry的protected下,首先你要明白什么是內部訪問跟對象訪問的概念,attack是派生類infantry的成員函數.attack函數當然可以打印出自己protected的成員了,不知道你有沒有明白,你不明白的話,把視頻反復看,最好把代碼寫下來了,理清思路。最重要的是你要理解內部訪問跟對象訪問的概念
2016-03-17
已采納回答 / 隨風lief
虛擬繼承是多重繼承中特有的概念,是為解決多重繼承的。用虛繼承可以節省內存空間虛函數是面向對象多態性的主要方式,通過繼承基類中的虛函數在子類中重載實現不同操做。繼承的虛函數在子類中不需要加virtual,默認就是虛函數。可以被它的子類覆蓋。
2016-02-02
最新回答 / leavie
test line:11 打印出析構函數是正常的,老師的解果在打印出析構時也同跳出程式畫面,所以手速快一點也許可以看到。。我用cmd輸出的解果:<...圖片...>「按任意鍵繼續」的提示字串包圍的部份是在要跳出程序才打印,也就是視頻中沒看到的畫面
2016-01-25
最贊回答 / 朵小妖兒
因為protected在不涉及繼承的情況下,和private一樣,就是訪問不了的,但是在繼承下,兩種限定訪問符不一樣,這就是繼承下protected和private的區別了
2016-01-22