good in

Knuthocean 2004-09-02 11:26:11
(2004-09-02 11:01:09) Knuthocean(158139847)
(2004-08-31 22:34:14) Knuthocean(158139847)
大家说说这是什么意思呀?
(C++):
class Date{
int d,m,y;
public:
Date(int dd=0,int mm=0,int yy=0);
//...
};
Date::Date(int dd,int mm,int yy)
{
d=dd?dd:today.d;
m=mm?mm:today.m;
y=yy?yy:today.y;
}

这儿的如“d=dd"之类的不是恒等的吗?为什么后面还有? :算符呢?
...全文
65 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
展开来是这样的:
d =( (dd != 0) ? (dd) : (today.d));
积木 2004-09-02
  • 打赏
  • 举报
回复
这个叫做三元运算符举一个例子来说

int max = x>y?x:y 翻译过来就是

if(x>y)
max=x;
else
max=y;
那么这个里面就是dd不为零的时候d=dd,否则为today.d;

也就是

if(dd!=0)
d=dd;
else
d=today.d;

C++PL上面的例子吧。
  • 打赏
  • 举报
回复
如果dd,mm,yy等于0呢?

65,187

社区成员

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

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