| 查看: 2110 | 回复: 11 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
c++ 一道题目,关于cout 和printf的差异,不理解(p82) 已有4人参与
|
||
|
下面是主函数的代码,另外,A .B是我定义的两个类,分别含有数据成员ma,mb和mc, 我有疑惑的地方就在于用printf输出和我注释掉的地方,我要查看的是数据成员的偏移量,为什么用cout(注释掉的地方)没有任何输出,但是用printf却可以正确输出呢,不理解,求指教。。 int main() { A a; B *pb=(B*)(&a); cout<<"&a:"<<&a<<endl; cout<<"&a.ma"<<&a.ma<<endl; printf("%p\n",&A::ma); printf("%p\n",&A::mb); printf("%p\n",&B::mc); /* cout<<"&A::ma"<<&A::ma<<endl; cout<<"&A::mb"<<&A::mb<<endl; cout<<"&B::mc"<<&B::mc<<endl; */ pb->print(); } |
» 猜你喜欢
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助,一道简单却不能小觑的题目
已经有14人回复
疑惑:一道C++的小程序,不理解
已经有9人回复
wenguilong
金虫 (小有名气)
- 应助: 9 (幼儿园)
- 金币: 666.7
- 散金: 4
- 帖子: 210
- 在线: 43.2小时
- 虫号: 2650431
- 注册: 2013-09-12
- 性别: GG
- 专业: 电路与系统
7楼2014-03-31 21:46:45
2楼2014-03-30 23:16:43
wenguilong
金虫 (小有名气)
- 应助: 9 (幼儿园)
- 金币: 666.7
- 散金: 4
- 帖子: 210
- 在线: 43.2小时
- 虫号: 2650431
- 注册: 2013-09-12
- 性别: GG
- 专业: 电路与系统
3楼2014-03-31 09:13:57
|
好的,下面是完整程序 #include<iostream> using namespace std; class A{ public: A(){ ma=1; mb=2; } ~A(){}; void print(){cout<<ma<<mb<<endl;} int ma,mb; }; class B{ public: B(){mc=3;} ~B(){} void print(){cout<<mc<<endl;} int mc; }; int main() { A a; B *pb=(B*)(&a); /* cout<<"&a:"<<&a<<endl; cout<<"&a.ma"<<&a.ma<<endl; printf("%p\n",&A::ma); printf("%p\n",&A::mb); printf("%p\n",&B::mc); */ cout<<"&A::ma"<<&A::ma<<endl; cout<<"&A::mb"<<&A::mb<<endl; cout<<"&B::mc"<<&B::mc<<endl; pb->print(); } 谢谢关注。望解答 |
4楼2014-03-31 17:58:21












回复此楼