有段程序看不懂,求助
有个程序看不懂,向高手请教一下(抄自《c++大学教程第二版》):
//create a structure, set its members, and print it.
#include <iostream>
struct Time
{ // structure definition
int hour;
int minute;
int second;
};
void printMilitary ( const Time &);//prototype
void printStandard( const Time &);//prototype
int main()
{
Time dinnerTime; //variable of new type Time
// set members to valid values
dinnerTime.hour=18;
dinnerTime.minute=30;
dinnerTime.second=0;
cout<< "Dinner will be held at ";
printMilitary(dinnerTime);
cout<< "military time,\nwhich is ";
printStandard(dinnerTime);
cout<<" standard time.\n";
// set members to invalid values
dinnerTime.hour=29;
dinnerTime.minute=73;
cout<< "\nTime with invalid values: ";
printMilitary(dinnerTime);
cout<<endl;
return 0;
}
// print the time in military format
void printMilitary( const Time &t)
{
cout<<(t.hour<10? "0" : "")<< t.hour<<":"
<<(t.minute<19? "0" : "")<< t.minute;
}
//print the time in standard format
void printStandard(const Time &t )
{
cout<< ( ( t.hour==0|| t.hour==12)?12: t.hour%12)
<<":"<< (t.minute<10 ? "0": "")<<t.minute
<<":"<< (t.second<10 ? "0": "")<<t.second
<<( t.hour<12 ? "AM" : "PM");
}
-----------------------------------------------------------
其中看不懂的是:
void printMilitary( const Time &t)
1."&t"如何引用的了dinnerTime的数据
2.&t代表的是一串地址,为什么后面“(t.minute<10 ? "0": "")”反而可一旦数据用,
这里面没有定义指针啊?