c++中的“( minute < 10 ? "0" : "" ) ”什么意思?还有“( hour < 10 ? "0" : "" ) ”

作者&投稿:辕纯 (若有异议请与网页底部的电邮联系)
在线等,挺急的!!用C++设计一个类Time(时间),具有成员私有变量hour,minute,second~

#include using namespace std;class Time{private: int hour, minute, second; //1public: Time(int h, int m, int s) :hour(h), minute(m), second(s) {} //2 void printTime() { printf("%02d:%02d:%02d
", hour, minute, second); } //3 int getHour() const { return hour; } int getMinute() const { return minute; } int getSecond() const { return second; } void setHour( const int &h) { hour = h; } void setMinute(const int &m) { minute = m; } void setSecond(const int &s) { second = s; } void increase() // 5 { second ++; if (second == 60) { second = 0; minute ++; } if (minute == 60) { minute = 0; hour ++; } if (hour == 24) { hour = 0; } } void decrease() { second --; if (second == -1) { second = 59; minute --; } if (minute == -1) { minute = 59; hour --; } if (hour == -1) { hour = 23; } } Time &operator ++() { increase(); return *this; } Time operator ++(int) { increase(); return *this; } Time &operator --() { decrease(); return *this; } Time operator --(int) { decrease(); return *this; }};int main(){ // 赋初值,输出 Time myTime(12, 34, 56); myTime.printTime(); // 公共接口 printf("hour=%d, minute=%d, second=%d
", myTime.getHour(), myTime.getMinute(), myTime.getSecond()); // +1 myTime.increase(); myTime.printTime(); // ++ -- myTime.setHour(23); myTime.setMinute(59); myTime.setSecond(59); myTime.printTime(); myTime ++; myTime.printTime(); myTime --; myTime.printTime(); ++myTime; myTime.printTime(); --myTime; myTime.printTime(); return 0;}

#include

class Timer
{
long second;
public:
Timer(int second)
{
this->second=second;
}
Timer(int minute, int second)
{
this->second=minute*60+second;
}
Timer(int hour, int minute, int second)
{
this->second=hour*60+minute*60+second;
}
int getSecond()
{
return second;
}
};

void main()
{
Timer t1(45),t2(10,25),t3(1,4,10),t4(2,16,0);
cout<<"From t1 to t2: "<<t2.getSecond()-t1.getSecond()<<endl;
cout<<"From t3 to t4: "<<t4.getSecond()-t3.getSecond()<<endl;
}

?:是三目操作符
比如 int c=a<b?a:b;
意思为当a<b时c就取a的值,否则就取b的值
同理
minute < 10 ? "0" : ""
如果 minute<10成立,那么表达式的返回值就是“0”字符串(不是字符)
如果不成立,返回值就是 “ ”字符串

hour>10?'0':"";这是个三目运算符和上面的一样意思,如果条件成立就取'0'否则就取""

你说的问题是一个条件语句问题"?:"
a?b:c
意思为若a成立刚输出b,否则输出c

如果minute<10成立,则返回“0”,否则返回“”


南汇区15854777179: C++中一道关于输入秒数,得到此秒等于多少天、分钟、秒问题 -
戊叛麦通: 我是按照你的思路做的 #include<iostream> using namespace std; const int tian=24; const int xs=60; const int fen=60;int main() { int a,b,c,x,d; cin>>x; a=x/fen/xs/tian; cout<<a<<endl; //去掉天数看看还有多少分 b = (x -(a * tian * xs * fen))/60 ; //除...

南汇区15854777179: c++中的“( minute < 10 ? "0" : "" ) ”什么意思?还有“( hour < 10 ? "0" : "" ) ” -
戊叛麦通: ?:是三目操作符 比如 int c=a意思为当a同理 minute 如果 minute如果不成立,返回值就是 “ ”字符串

南汇区15854777179: C++中Time类的类声明及成员函数的实现. -
戊叛麦通: #include <iostream>#include <iomanip>using std::cout; using std::endl; using std::setfill; using std::setw;/** * @class Time. * @brief 时间类. * 时间类,包含简单的设置时间,打印时间的功能. */ class Time { public:/*** @function Time* @brief ...

南汇区15854777179: C++程序设计题:设计一个钟表类Clock,该类有Hour,Minute,Second三个数据成员分别用 -
戊叛麦通: #include <iostream> using namespace std; class sanjiaoxing { private: int a; int b; int c; public: sanjiaoxing();//无参构造函数 sanjiaoxing(int a,int b,int c);//有参构造函数 void GetZhouChang();//求周长 void GetLeiXing();//判断类型 }; ...

南汇区15854777179: c++:为什么一元运算符在声明和定义时都要在Time后面加&??还有为什么返回值必须是this指针? -
戊叛麦通: 首先声明和定义应该一致的.对吧?为什么要返回引用呢?其实一元运算符也有不返回引用的时候,这里重载前置自增(++)返回引用,而我们重载后自增的时候却不返回引用.可以这样重载后自增:Time Time::operator++(int) { Time t(*this); ...

南汇区15854777179: C++中获取当前时间的代码 -
戊叛麦通: #include <iostream.h> #include <ctime> void main() { tm *year; //年 tm *month; //月 tm *day; //日 tm *hour;//时 tm *minute; tm *second; time_t t;t=time(0); year = localtime(&t);month = localtime(&t);day = localtime(&t); hour = localtime(&t); ...

南汇区15854777179: c++设计一个时钟类Clock.数据成员包括hour(小时)、minute(分钟)、 second(秒).要求用成员函数实现 -
戊叛麦通: 留意下错误信息就行了#include<iostream> using namespace std; class Clock { public:Clock(int h=0,int m=0,int s=0){hour=h;minute=m;second=s;}void setHour(){cin>>hour;}void setMinute(){cin>>minute;}void setSecond() {cin>>second;}...

南汇区15854777179: c++ Time& 和Time&t 是什么意思啊,符号&是干什么的 -
戊叛麦通: void set_time (Time&);这一句是声明一个函数,也就是函数原型,告诉编译器,在你的代码里面,会有这样一个函数. void set_time (Time&t) {cin >> t.hour;cin >> t.minute;cin >> t.sec; }这一段代码是函数的定义,具体实现了你刚才声明的...

南汇区15854777179: C++中做 时间的相加怎么弄啊 ? -
戊叛麦通: 简单写了一个没有任何优化 #include using namespace std; class Time{ public: Time(int h, int m, int s); Time operator +(const Time &t2); friend ostream & operator << (ostream & os, const Time t); private: int hour; int minute; int second; }; Time::...

南汇区15854777179: C++中符号&的含义
戊叛麦通: 这里是引用的意思 使用引用,函数里面可以修改L啊 你去掉引用,在函数里面修改,不会影响函数外面的值. 和C里面的传值和传址差不多. 你去掉引用,需要换成initList(Linklist* L,int m),而且函数里面都得(*L)整体使用

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网