cc
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
38 隨筆 :: 14 文章 :: 21 評(píng)論 :: 0 Trackbacks
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(38)
2013年3月 (1)
2011年5月 (1)
2011年2月 (3)
2010年3月 (2)
2010年2月 (1)
2010年1月 (4)
2009年12月 (2)
2009年11月 (5)
2009年10月 (4)
2009年7月 (1)
2009年6月 (2)
2009年5月 (2)
2009年4月 (1)
2008年10月 (1)
2008年9月 (1)
2008年8月 (1)
2008年7月 (3)
2007年12月 (2)
2007年7月 (1)
文章分類
(10)
編程相關(guān)(9)
(rss)
經(jīng)典網(wǎng)評(píng)(1)
(rss)
文章檔案
(14)
2008年7月 (1)
2006年12月 (13)
相冊(cè)
cc
搜索
最新評(píng)論
1.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--EssaysService rewiew
2.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--custom essay writing services reviews
3.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--this link
4.?re: C#中new和override區(qū)別
THX!
--programmer
5.?re: 數(shù)據(jù)庫(kù)水平分庫(kù)框架設(shè)計(jì)
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
--aaaaaaaaaaaaaaaaaaaa
閱讀排行榜
1.?WINDOWS 邏輯坐標(biāo) 設(shè)備坐標(biāo) 屏幕坐標(biāo) 客戶區(qū)坐標(biāo)(2509)
2.?空間中直線和三角面片求交(2443)
3.?C# winform 實(shí)現(xiàn)(不規(guī)則)窗體或者控件的拖動(dòng)(2416)
4.?保存Graphics對(duì)象到Bitmap對(duì)象 [轉(zhuǎn)](2206)
5.?如何在Dll中導(dǎo)出STL類(1940)
評(píng)論排行榜
1.?數(shù)據(jù)庫(kù)水平分庫(kù)框架設(shè)計(jì)(2)
2.?C++中extern “C”含義深層探索(1)
3.? C#中new和override區(qū)別 (1)
4.?CString和string的互相轉(zhuǎn)換 (1)
5.?如何在Dll中導(dǎo)出STL類(1)
一道騰訊的面試題
class?a
{
word?m_a1;
word?m_a2;
a(){m_a1=1;m_a2=2;}
void?fun(){printf("%d,%d",m_a1,m_a2);}
}
class?b
{
dword?m_a3;
b(){m_a3=3;}
void?fun(){printf("%d",m_a3);}
}
main()
{
a?a;
b?*pb;
pb=b*(&a);
pb->fun();
}
輸出是什么?
posted on 2006-12-17 15:30
醒目西西
閱讀(596)
評(píng)論(2)
編輯
收藏
引用
所屬分類:
編程相關(guān)
評(píng)論
#
re: 一道騰訊的面試題
2006-12-17 15:30
醒目西西
結(jié)果是1
pb=(b*)(&A); 將A的地址傳給了pb,并強(qiáng)制轉(zhuǎn)化為b類的地址
pb->fun(); 調(diào)用b 的fun()方法,不過此時(shí)ma_3,是a類的ma_1,所以輸出1
你可以改一下程序運(yùn)行就知道了
#include <stdio.h>
class a
{
char m_a1;
char m_a2;
public:
a(){m_a1=1;m_a2=2;}
void fun(){printf("%d,%d",m_a1,m_a2);}
};
class b
{
char m_a3;
public:
b(){m_a3=3;}
void fun(){printf("%dggggg",m_a3);}//可以看出是調(diào)用了該方法
};
void main()
{
a A;
b *pb;
pb=(b*)(&A);
pb->fun();
}
回復(fù)
更多評(píng)論
#
re: 一道騰訊的面試題
2006-12-17 15:30
醒目西西
在win32和32位編譯器的環(huán)境下,結(jié)構(gòu)體(struct和class)中的數(shù)據(jù)域是按聲明的先后順序,“向上生長(zhǎng)”的。就是說若結(jié)構(gòu)體A中按先后聲明了兩個(gè)域a、b,則存放b的地址大與存放a的地址!注意,有些編譯器為了提高在32位系統(tǒng)中對(duì)內(nèi)存的訪問速度,所以使用了內(nèi)存對(duì)齊技術(shù)--結(jié)構(gòu)體中的各個(gè)域是按4字節(jié)對(duì)齊的!
我們假設(shè)樓主提供的題目如下:
#include <stdlib.h>
#include <stdio.h>
class a {
short m_a1;
short m_a2;
public:
a() {
m_a1 = 1;
m_a2 = 2;
}
void fun() {
printf("%d,%d", m_a1, m_a2);
}
};
class b{
int m_a3;
b() {
m_a3 = 3;
}
public:
void fun() {
printf("%d", m_a3);
}
};
int main() {
printf("sizeof a, b = %d %d\n", sizeof(a), sizeof(b));
a a;
b *pb;
pb = (b*)(&a);
pb -> fun();
}
就是說,a的大小是8字節(jié),b的大小是4字節(jié)!
而b::fun()就是按int的格式輸出結(jié)構(gòu)體中的前四個(gè)字節(jié)!所以輸出1!
但是,若沒有使用內(nèi)存對(duì)齊技術(shù)!上面的問題就麻煩了!
a和b 的大小都是4字節(jié)!
a a+2
1 2 -> (2 << 16) | 1
所以應(yīng)該輸出:
131073
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
C++基本類型對(duì)象化的一個(gè)方案
[轉(zhuǎn)]delegate 與 多線程
去騰訊時(shí)遇到的一個(gè)面試題
騰訊最新面試題,算法高手請(qǐng)進(jìn)
一道騰訊的面試題
c#多線程教學(xué)(4):線程池和異步編程
c#.net多線程編程教學(xué)(2):Thread類
使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
[C#學(xué)習(xí)]在多線程中如何調(diào)用Winform
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 醒目西西
久久久免费观成人影院
|
久久性生大片免费观看性
|
精品久久久无码21p发布
|
午夜天堂av天堂久久久
|
久久亚洲欧美国产精品
|
亚洲乱亚洲乱淫久久
|
一级a性色生活片久久无
|
777米奇久久最新地址
|
久久五月精品中文字幕
|
亚洲AV无码久久
|
久久久免费观成人影院
|
www久久久天天com
|
色综合久久天天综线观看
|
老色鬼久久亚洲AV综合
|
久久男人AV资源网站
|
久久国产精品77777
|
亚洲人成无码www久久久
|
77777亚洲午夜久久多喷
|
伊人久久国产免费观看视频
|
久久99热只有频精品8
|
一本大道久久a久久精品综合
|
无码人妻精品一区二区三区久久
|
国产一级做a爰片久久毛片
|
亚洲国产精品久久久久
|
一本久道久久综合狠狠爱
|
狠狠人妻久久久久久综合
|
久久精品人人做人人爽97
|
伊人热热久久原色播放www
|
国内精品伊人久久久久网站
|
亚洲精品美女久久777777
|
色综合合久久天天给综看
|
精品久久久久久无码人妻热
|
色狠狠久久综合网
|
日韩人妻无码精品久久免费一
|
久久久久久久综合日本亚洲
|
一级做a爰片久久毛片毛片
|
青青青青久久精品国产
|
久久国产精品一区二区
|
久久国产精品-久久精品
|
91精品国产高清久久久久久国产嫩草
|
中文无码久久精品
|