首页 > 编程语言 > 详细

C++继承类同名属性被隐藏,其实都在内存里,并且都可以被使用

时间:2014-04-25 17:02:16      阅读:638      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#include "stdafx.h"

class A {
public:
int i;
A() { i=1; }
};

class B: public A {
public:
int i;
B() { i=2; }
};

class C: public B {
public:
int i;
C() { i=3; }
};


int main(int argc, char* argv[])
{
A a1;    printf(" %d\n", a1.i); 
B a2;    printf(" %d\n", a2.i); 
C a3;    printf(" %d\n", a3.i);

printf(" %d\n", ((B)a2).i);
printf(" %d\n", ((B)a3).i);
printf(" %d\n", ((C)a3).i);

printf(" %d\n", sizeof(a1));
printf(" %d\n", sizeof(a2));
printf(" %d\n", sizeof(a3));

return 0;
}
bubuko.com,布布扣

打印结果:

1
2
3
2
2
3
4
8
12

C++继承类同名属性被隐藏,其实都在内存里,并且都可以被使用,布布扣,bubuko.com

C++继承类同名属性被隐藏,其实都在内存里,并且都可以被使用

原文:http://www.cnblogs.com/findumars/p/3687823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!