社区
非技术区
帖子详情
神奇C++问题(6)
HaoGeGe
2001-05-17 08:06:00
请问它的输出结果?
#include <iostream>
using namespace std;
struct C;
struct D {
void operator*(D) { cout << "one\n"; }
} C;
struct E {
void operator*(E) { cout << "two\n"; }
} F;
struct F;
int main(){
C* C;
F* F;
return 0;
}
...全文
196
17
打赏
收藏
神奇C++问题(6)
请问它的输出结果? #include using namespace std; struct C; struct D { void operator*(D) { cout << "one\n"; } } C; struct E { void operator*(E) { cout << "two\n"; } } F; struct F; int main(){ C* C; F* F; return 0; }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
holyfire
2001-05-17
打赏
举报
回复
还是先看看楼下的答案吧。
HaoGeGe
2001-05-17
打赏
举报
回复
one
HaoGeGe
2001-05-17
打赏
举报
回复
E * C 将定义一个指向E类的指针C.
bloodshed Dev-C++挺好用的.还是免费的.
强烈推介.强烈推介.强烈推介.
http://www.bloodshed.net/devcpp.html
holyfire
2001-05-17
打赏
举报
回复
请问一下你的结果你什么
holyfire
2001-05-17
打赏
举报
回复
BC++3.1,呵呵是我弄错了,把两次的结果看成了一次。
HaoGeGe
2001-05-17
打赏
举报
回复
holyfire没有啊,只有一个one
你用的是什么编译器啊?
holyfire
2001-05-17
打赏
举报
回复
但是如何说是指向E呢,E不是对象啊,还有为何他也触发了void operator*(D) { cout << "one\n"; }呢,这个程序结果为
one
one
HaoGeGe
2001-05-17
打赏
举报
回复
E * C 将定义一个指向E的指针C.
请注意上一句的C是一个全局变量.
holyfire
2001-05-17
打赏
举报
回复
int main(){
C* C;
E* C;
return 0;
}
请解释一下E * C 这时编译器是如何解释的呢?
HaoGeGe
2001-05-17
打赏
举报
回复
cber做得很对的地方在于他指出了
C* C;
F* F;
等于
C.operator*(C);
F.operator*(F);
即那两句并不是声明了两个指针.
而是调用了对象C的成员函数.
即可以看到左边的C实际上不是类而是对象.
所以,当类和对象重名时,类名将被隐藏.
所以,如果要申明的话应该用更明确的语句.
即
struct C* C;
holyfire
2001-05-17
打赏
举报
回复
我还是不明白当类和对象重名时,编译器将如何解释这个字符串。
还请指教。
HaoGeGe
2001-05-17
打赏
举报
回复
cber这不是什么障眼法,这是为了让你搞清楚当类和对象重名时.
编译器将如何解释这个字符串.
再问如何在main函数中设计语句可以打出.
只有one
或者
只有two
wao
2001-05-17
打赏
举报
回复
cber,佩服佩服。
如果工作中有人这样写程序,我会杀了他。呵呵。
cber
2001-05-17
打赏
举报
回复
程序等同于
#include <iostream>
using namespace std;
struct D {
void operator*(D) { cout << "one\n"; }
} C;
struct E {
void operator*(E) { cout << "two\n"; }
} F;
int main()
{
C.operator*(C);
F.operator*(F);
return 0;
}
其他的东西都是一些障眼法;-)
HaoGeGe
2001-05-17
打赏
举报
回复
此题关键在于要搞明白当类和对象重名时.
编译器将如何解释这个字符串.
再问如何在main函数中设计语句可以打出.
只有one
或者
只有two
holyfire
2001-05-17
打赏
举报
回复
敢问此题又妙在何处呢?
ninglng
2001-05-17
打赏
举报
回复
one
two
【DirectX】Direct3d初始化四步曲demo by浅墨
【浅墨DirectX提高班】系列博文 配套源码之一 源码配套博文 《【Visual
C++
】游戏开发笔记三十三 浅墨DirectX提高班之二 化腐朽为
神奇
:DirectX初始化四步曲 》 ,文章地址为 http://blog.csdn.net/zhmxy555/article/details/8197792, 点击debug下的exe文件可以直接看到运行效果。 编写环境:VS2010 我的博客地址是http://blog.csdn.net/zhmxy555,源码结合配套文章一起看效果更佳。 希望能和大家一起交流,共同学习,共同进步。 by浅墨
C++
神奇
又危险的程序
C++
神奇
的程序
3126:练21.3
神奇
装置(C、
C++
、python)
3126:练21.3
神奇
装置(C、
C++
、python)
C++
神奇
的魔镜
那么有一天,镜子被小星拿到了,发现
神奇
的魔镜之所以能够回答
问题
,因为有魔力源泉,而魔力的源泉来自一组
神奇
的数字,这些数字都有一个特点,翻转 180 度后,还和原来一个样子,例如 数字 8,翻转 180 度后还依旧是 8,数字 2 翻转 180 度后,变不回原来的样子,这样的数字我们称之为镜子数字(就跟照镜子一样)如图。传说在一个古堡里,有一个
神奇
的魔镜,能够回答人们的
问题
,每天的晚上,都会有一个神秘的人过来询问魔镜。魔镜回答到:“李老师是我见过最帅的人”,这个
神奇
的魔镜,很显然只会说实话。
统计
神奇
数的个数C/
C++
我们定义
神奇
的数x为:x是奇数,x2为偶数,并且x各个位数之和不大于20 现在计算从1到n中,
神奇
数的个数有多少。 要求定义函数:int check(int n)//判断1-n为
神奇
的数的个数,返回个数 输入 一个数字n,1<=n<=1e7 输出 输出
神奇
的数的个数 样例输入 2 样例输出 0 #include<iostream> #include<cstdio> #include<iomanip> #include<cstdlib> #inclu
非技术区
15,447
社区成员
58,120
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章