cc
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
38 隨筆 :: 14 文章 :: 21 評論 :: 0 Trackbacks
<
2025年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
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
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(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)評(1)
(rss)
文章檔案
(14)
2008年7月 (1)
2006年12月 (13)
相冊
cc
搜索
最新評論
1.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--EssaysService rewiew
2.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--custom essay writing services reviews
3.?re: 使用 .NET Remoting 實(shí)現(xiàn)并行計(jì)算 [轉(zhuǎn)]
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--this link
4.?re: C#中new和override區(qū)別
THX!
--programmer
5.?re: 數(shù)據(jù)庫水平分庫框架設(shè)計(jì)
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
--aaaaaaaaaaaaaaaaaaaa
閱讀排行榜
1.?WINDOWS 邏輯坐標(biāo) 設(shè)備坐標(biāo) 屏幕坐標(biāo) 客戶區(qū)坐標(biāo)(2515)
2.?空間中直線和三角面片求交(2453)
3.?C# winform 實(shí)現(xiàn)(不規(guī)則)窗體或者控件的拖動(dòng)(2432)
4.?保存Graphics對象到Bitmap對象 [轉(zhuǎn)](2214)
5.?如何在Dll中導(dǎo)出STL類(1948)
評論排行榜
1.?數(shù)據(jù)庫水平分庫框架設(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
醒目西西
閱讀(605)
評論(2)
編輯
收藏
引用
所屬分類:
編程相關(guān)
評論
#
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ù)
更多評論
#
re: 一道騰訊的面試題
2006-12-17 15:30
醒目西西
在win32和32位編譯器的環(huán)境下,結(jié)構(gòu)體(struct和class)中的數(shù)據(jù)域是按聲明的先后順序,“向上生長”的。就是說若結(jié)構(gòu)體A中按先后聲明了兩個(gè)域a、b,則存放b的地址大與存放a的地址!注意,有些編譯器為了提高在32位系統(tǒng)中對內(nèi)存的訪問速度,所以使用了內(nèi)存對齊技術(shù)--結(jié)構(gòu)體中的各個(gè)域是按4字節(jié)對齊的!
我們假設(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)存對齊技術(shù)!上面的問題就麻煩了!
a和b 的大小都是4字節(jié)!
a a+2
1 2 -> (2 << 16) | 1
所以應(yīng)該輸出:
131073
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
C++基本類型對象化的一個(gè)方案
[轉(zhuǎn)]delegate 與 多線程
去騰訊時(shí)遇到的一個(gè)面試題
騰訊最新面試題,算法高手請進(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 © 醒目西西
久久婷婷国产剧情内射白浆
|
99久久国产宗和精品1上映
|
伊人色综合久久
|
国产AⅤ精品一区二区三区久久
|
久久夜色撩人精品国产
|
亚洲国产精品无码成人片久久
|
久久精品成人免费看
|
一本一道久久a久久精品综合
|
婷婷久久久亚洲欧洲日产国码AV
|
伊人久久大香线蕉精品
|
久久综合精品国产二区无码
|
国内精品久久久久久不卡影院
|
国产精品99久久久精品无码
|
国产精品成人无码久久久久久
|
亚洲精品国产字幕久久不卡
|
久久精品国产欧美日韩
|
久久精品嫩草影院
|
人妻少妇久久中文字幕一区二区
|
欧美激情精品久久久久久久九九九
|
久久青青草原精品国产
|
久久午夜免费视频
|
亚洲精品午夜国产va久久
|
国产精品欧美亚洲韩国日本久久
|
国产精品无码久久久久
|
国产精品久久久久久久久免费
|
色天使久久综合网天天
|
日韩久久无码免费毛片软件
|
久久高潮一级毛片免费
|
久久99精品久久久久久齐齐
|
2021少妇久久久久久久久久
|
亚洲精品乱码久久久久久久久久久久
|
亚洲国产二区三区久久
|
久久久国产乱子伦精品作者
|
亚洲一级Av无码毛片久久精品
|
久久91精品综合国产首页
|
精品久久无码中文字幕
|
99久久人妻无码精品系列蜜桃
|
国内精品九九久久精品
|
亚洲国产美女精品久久久久∴
|
国产精品久久久久久久app
|
国产A三级久久精品
|