在一个C/C++ fans网站上看到这样的问题

kulama2004 2003-09-14 04:07:21
第六题:

这个程序中的//some code部分,如果是有效代码的话,会被执行到吗??
...
j=++i;
if(i==j)
{
  //some code
}
...



这个程序中的//some code部分,如果是有效代码的话,会被执行到吗??
class Funny
{
public:
  bool operator==(const Funny&)
  {
    return true;
  }
  Funny& operator++(void)
  {
    return *this;
  }
  //...
};

Funny i,j;

j=++i;
if(i==j)
{
  //some code
}
...全文
27 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
iceheart 2003-09-15
  • 打赏
  • 举报
回复
考虑多线程
xhzhf 2003-09-15
  • 打赏
  • 举报
回复
完全可以
hangdian 2003-09-15
  • 打赏
  • 举报
回复
可以当然有这种可能
搬不搬砖 2003-09-15
  • 打赏
  • 举报
回复
可以啊,运算符重载
pcyy 2003-09-15
  • 打赏
  • 举报
回复
xiaoyige886(素还真) :
谢谢你的回答。
呵呵。
lianglianqing 2003-09-14
  • 打赏
  • 举报
回复
我运行了这个代码
#include<iostream>
using namespace std;
class Funny
{
public:
bool operator == (const Funny&)
{
return true;
}
Funny& operator ++ (void)
{
return *this;
}
};
void main()
{
Funny i,j;
j=++i;
if (j==i)
cout<<"ok"<<endl;
system("pause");
}

可以运行输出ok
晨星 2003-09-14
  • 打赏
  • 举报
回复
作者已经吧++和==的语义改变了。
norikos 2003-09-14
  • 打赏
  • 举报
回复
程序作者用重载改变了操作符的语意而已!
GhostAdz 2003-09-14
  • 打赏
  • 举报
回复
楼上的楼上好象错了吧
这是两个类类型
kulama2004 2003-09-14
  • 打赏
  • 举报
回复
-_-
类里面已经把“++”和“==”重载了
仔细看看清楚
发表意见前好好想想
xiaoyige886 2003-09-14
  • 打赏
  • 举报
回复
j =++i;
等价于:i = i +1;
j = i;
pcyy 2003-09-14
  • 打赏
  • 举报
回复
j=++i;
不就是相当于解j=i+1(了吗)
怎么还可以:i==j呢??
我很菜,提出这样的问题,不要见笑。^_^
请高人回答一下,谢谢。
loveghb 2003-09-14
  • 打赏
  • 举报
回复
完全可以啊!
ttlb 2003-09-14
  • 打赏
  • 举报
回复
我认为可以
Yssss1980 2003-09-14
  • 打赏
  • 举报
回复
由此可见

C++对用户自定义类型的支持简直和原生类型用起来是一样的
wolfyang 2003-09-14
  • 打赏
  • 举报
回复
有可能,你还不记得有个循环的问题和她差不多
相关文章《DOS的古董美》 MD DocUmEnT: 3/26/2016 10:26:57 AM by Jimbowhy 当计算机技术越来越先进,越来越快速更新,作为电子FANS,发现这样的现状不仅带给从事这个行业的人更多的便利,还有更多的迷失!而DOS就像是那个本应有活力的游乐园,收集资料的过程中发现,国外确实把DOS当成了计算机世界的大游乐场!国内很多在玩开发板的的同学几乎都不懂得,其实个人电脑才是功能最齐全的“开花板”! - by Jimbowhy 为了混用汇编和C语言进行编程,就需要配套使用微软的C/C++语言编译器,也即是 Visual C++,它的前身是 Microsoft C/C++,最高版本好像是1992年的Microsoft(R) C/C++, Version 7.0,我手上就有MSC70.zip,还有1991年发布的MSC60.zip两个版本。更早的C语言开发工具就是1990年的QuickC(R) Compiler 2.51 Professional。然后就是Visual系列的天下了,最早的一版是1992年发行的Visual C++ 1.0,20张3.5英寸磁盘装,现在能看到的只有磁盘镜像了,镜像中的Link.EX_是SZDD压缩格式。这个版本支持16位和32位开发,集成MFC框架,集成资源编辑器。链接程序为32位 Executable Linker 1.00,同时提供 link.exe 和 link32.exe 两个命令。在 Win PC World 上下载到一个称为 msvc10_32s.iso 的镜像,它包含了 Win32 和 NT两个套开发工具,标明是 Visual C++ 1.0,但感觉不是,像是一个未发布的版本。因为最后一个DOS开发版本是 Dec 5, 1994发行的 Visual C++ 1.52c,也就是从这一套工具开始,链接程序不再叫做 Executable Linker,而是叫做分段模式程序链接器 Segmented Executable Linker,随CD发行的链接程序版本为 5.60.339,这个链接程序也是MASM32中使用的16位程序链接器。直到今天,它仍然具有强大的生命力,一些为MSDOS、Windows 3.1编写16位应用程序的程序员还在使用这个版本,我个人也很喜欢这样小巧的开发工具,因为我只需库文件和编译工具而已,完成编码后剩下的工作就交给make工具而不是IDE。
摘要:VC/C++源码,系统相关,电子钟   用C程序写的1602+18B20电子钟控制代码,具体的操作如下:   K5模式键   K6增加键   K7减少键   K8 设置OK键   部分代码:   sbit DQ = P3^3 ; //18B20接口   sbit speaker = P3^6 ; //蜂鸣器   sbit MODE = P1^4 ; //模式键   sbit INC = P1^5 ; //增加键   sbit DEC = P1^6 ; //减少键   sbit OK = P1^7 ; //OK键   #define LCD1602_DATA P0 //8位数据并行口   #define LCD1602_RS P2_0 //指令OR数据寄存器选择   #define LCD1602_RW P2_1 //读写控制   #define LCD1602_EN P2_2 //使能控制   #define LCD1602_CLR 0x01 //清屏   #define LCD1602_MODE 0x38 //8位数据,双列显示,5*7字形   #define LCD1602_ON 0x0c //开显示,关光标,光标不闪烁   #define LCD1602_ADDR_MODE 0x06 //地址递增   #define DS1302_SCLK P1_0 //1302时钟线   #define DS1302_IO P1_1 //1302数据线   #define DS1302_RST P1_2 //1302复位线   //download by http://www.codefans.net   volatile uint8 data timedata[7] ; //时间值   volatile uint8 data display_buffer1[16]; //显示缓冲区1   volatile uint8 data display_buffer2[16]; //显示缓冲区2   volatile uint8 data temdata[5] ; //存放温度值   volatile uint16 data tdat ; //温度值变量   volatile uint8 data tflag ; //温度正负值标志   volatile int8 self_pos = 0 ;//自定义三角形标志显示位置变量   volatile uint8 OK_VALUE = 0 ; //OK键键值变量   volatile bit bdata DIS_ON = 1 ; //显示开关位 1 == on 0 == off   volatile bit bdata SCAN_ON = 0 ; //按键扫描开关位,由定时器每20MS刷新   volatile data MODE_ON = 0 ; //模式键按下后显示菜单的开关位

64,648

社区成员

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

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