猜猜这个结果是什么

自由建客 2013-04-08 05:30:51
#include <iostream>

using namespace std;

class Base {
public:
double Data;
};

class Sub1: public Base {
public:
double Data1;
};

class Sub2: public Base {
public:
int Data2;
};

int main() {
Sub1 s1; s1.Data= 0.1; s1.Data1= 1.1;
Sub1 s12; s12.Data= 0.12; s12.Data1= 1.12;
Sub2 s2; s2.Data= 0.2; s2.Data2= 2;
Base *pb= &s1;
cout << s1.Data << ' ' << s1.Data1 << endl;
*pb= s12;
cout << s1.Data << ' ' << s1.Data1 << endl;
*pb= s2;
cout << s1.Data << ' ' << s1.Data1 << endl;
return 0;
}

散分
...全文
565 37 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
Panda_熊猫 2013-04-16
  • 打赏
  • 举报
回复
>> Base *pb= &s1; 不会报错? pb->Data=333; 我倒是知道。 刚学C++。。。
Panda_熊猫 2013-04-16
  • 打赏
  • 举报
回复
接分来了,结果同上面所有答案,原因哪位大牛给小弟讲解一下啊
anequitousse 2013-04-12
  • 打赏
  • 举报
回复
引用 楼主 ch_fb 的回复:
C/C++ code?12345678910111213141516171819202122232425262728293031#include <iostream> using namespace std; class Base {public: double Data;}; class Sub1: public Base {public: double D……
初学者,求楼主解释结果。。谢过。。
冰凝 2013-04-12
  • 打赏
  • 举报
回复
haierpro 2013-04-12
  • 打赏
  • 举报
回复
这个还用猜?
csd1208 2013-04-12
  • 打赏
  • 举报
回复
顺便 结个婚
csd1208 2013-04-12
  • 打赏
  • 举报
回复

 0.1 1.1
 0.12 1.1
 0.2 1.1
行天涯 2013-04-12
  • 打赏
  • 举报
回复
哪里出现引用了 24行不是指针赋值么。 引用必须在定义的时候初始化。
xiaoliang1201 2013-04-12
  • 打赏
  • 举报
回复
这个结果是在想不懂,如果是引用的话,那么最后一个输出就不应该是
0.2 1.1
不是吗?求解答??
行天涯 2013-04-12
  • 打赏
  • 举报
回复
24行是一个指向子类对象(Sub1和Sub2)的基类类型指针(Base)。 没有使用虚继承(virsual public)。所以只会改变基类部分
m4a1sas 2013-04-11
  • 打赏
  • 举报
回复
引用 20 楼 ch_fb 的回复:
早已学会见十五楼头像就掠过其内容。
make
孔方兄_ 2013-04-10
  • 打赏
  • 举报
回复
运行一下不就了然了吗 0.1 1.1 0.12 1.1 0.2 1.1 接分
意吟 2013-04-09
  • 打赏
  • 举报
回复
g++ 4.5.3

# ./a.exe
0.1 1.1
0.12 1.1
0.2 1.1
自由建客 2013-04-09
  • 打赏
  • 举报
回复
这段代码揭示了一个深层次的哲学问题,给了我初韵一个重大启示,根治泛型的协变、逆变问题。 〖初韵〗一门新的纯动态、纯对象、高阶编程语言。
自由建客 2013-04-09
  • 打赏
  • 举报
回复
早已学会见十五楼头像就掠过其内容。
Automania 2013-04-09
  • 打赏
  • 举报
回复
我也不懂,给分不?
一刀切 2013-04-09
  • 打赏
  • 举报
回复
不懂可以接分吗
酱油党 2013-04-09
  • 打赏
  • 举报
回复
=='
  • 打赏
  • 举报
回复
这就是改变指向的内容么。 额。。。。。
赵4老师 2013-04-09
  • 打赏
  • 举报
回复
不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
加载更多回复(17)

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧