C++ 字符串 14-- 18.40.结构体与函数 结构体作为函数参数、结构体指针作为函数返回值

#include <iostream>
#include <string>
using namespace std;
/*---------------------------------
18.40.结构体与函数
 结构体作为函数参数、结构体指针作为函数返回值
---------------------------------*/
struct time{
int hour;
int minute;
};
const int perhour=60;
time* sum(time t1,time t2);
void show(time t);
int main()
{
time one={8,15};
time two={6,46};
time *day=sum(one,two);//与上一节不同的是,这里只是返回结构体的地址
show(one);   //因此,不用调用复制构造函数复制返回的结构体
show(two);
cout<<"两天的时间总计:";
show(*day);
time three={2,12};
show(three);
cout<<"三天的时间总计:";
time *day2=sum(*day,three);
show(*day2);
delete day; //在函数sum()中申请的内存得释放
delete day2;//在函数sum()中申请的内存得释放
return 0;
}
time* sum(time t1,time t2)
{
time *total=new time;
total->minute=(t1.minute+t2.minute)%perhour;
total->hour=t1.hour+t2.hour+(t1.minute+t2.minute)/perhour;
return total;
}
void show(time t)
{
cout<<"hour:"<<t.hour<<"\tminute:"<<t.minute<<endl;

}

运行结果:

hour:8  minute:15
hour:6  minute:46
两天的时间总计:hour:15 minute:1
hour:2  minute:12
三天的时间总计:hour:17 minute:13
Press any key to continue

猜你喜欢

转载自blog.csdn.net/Paulliam/article/details/80564289