觀察下面一段**:
class classa
;virtual void functiona(){};
};class classb;};
class classc : public classa,public classb
; classcaobject;
classa* pa=&aobject;
classb* pb=&aobject;
classc* pc=&aobject;
關於pa,pb,pc的取值,下面的描述中正確的是:
a.pa,pb,pc的取值相同. b.pc=pa+pb
c.pa和pb不相同 d.pc不等於pa也不等於pb
實際執行一下,選c,因為classa* pa=&aobject;
classb* pb=&aobject;
classc* pc=&aobject;
這三行**實際等價於:
classa* pa=static_cast(&aobject);
classb* pb=static_cast(&aobject);
classc* pc=&aobject;
存在隱式轉換的,也就是說源**等號右邊雖然寫法都一樣,但編譯器的解釋是不一樣的.
騰訊筆試題精選一
32 位機上根據下面的 問哪些說法是正確的?signed char a 0xe0 unsigned int b a unsigned char c a a.a 0 c 0 為真 b.a c 為真 c.b 的十六進製制表示是 0xffffffe0 d.上面都不對 下面哪些選項能編譯通過?int i c...
騰訊筆試題
一.單選題 每題4 分,15題,共60分 1.考慮函式原型void hello int a,int b 7,char pszc 下面的函式呼叫鐘,屬於不合法呼叫的是 a hello 5 b.hello 5,8 c.hello 6,d.hello 0,0,2.下面有關過載函式的說法中正確的是 a.過載...
騰訊筆試題
1 請定義乙個巨集,比較兩個數a b的大小,不能使用大於 小於 if語句 2 如何輸出原始檔的標題和目前執行行的行數 3 兩個數相乘,小數點後位數沒有限制,請寫乙個高精度演算法 4 寫乙個病毒 5 有a b c d 四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手...