标题:这道题结果为什么是8?
只看楼主
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
 问题点数:0 回复次数:6 
这道题结果为什么是8?
#include <iostream>
#include <cstring>
using namespace std;
class A
{
private:
    int num;
public:
    A(){}
    A(int num){this->num=num;}
    virtual ~A(){}
};
int main()
{
    A a;
    cout<<sizeof(a)<<endl;
    return 0;
}
搜索更多相关主题的帖子: private include public 
2011-07-08 17:54
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
virtual 的原因,因为它要占4字节,你可以把virtual ~A(){}这行注释掉看看。。。

My life is brilliant
2011-07-08 18:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
看来LZ在学习C++了,可惜我还没把C弄懂啊。。。

My life is brilliant
2011-07-08 18:07
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
是这样的  1C E0 46 00 05 00 00 00  前面的高四个字节存储的是virtual的标示 后面存的5

我直接A a(5); 调用的

                                         
===========深入<----------------->浅出============
2011-07-08 18:59
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
得分:0 
4+4
2011-07-08 20:32
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
得分:0 
看不懂……
2011-07-08 20:50
wuqishuang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-11
得分:0 
怎么搞的嘛
2011-07-08 20:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345045-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.184074 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved