第十八章 19 结构体与函数
//19 结构体与函数 //由于结构可以看作一个数据类型并且可以赋值,因为我们可以将结构传递到函数中,或者在函数中返回一个结构 //按值返回我们知道需要复制返回的结构,结构体可以容纳不同的类型的变量,相应产生的问题是复制数据也很多,假如我们不想复制数据,那么就要按地址返回 /* #include <iostream> using namespace std; struct time { int hour; int minute; }; const int perhour = 60; //定义分钟数 //time sum(time t1, time t2); time *sum(time t1, time t2); void show(time t); int main() { time one ={8,15}; time two = {6,55}; time *day = sum(one,two); cout<<"两天的时间总计:"; show(*day); time day3 = {9,35}; cout<<"三天时间总计:"; //注意这里的day已经不是一个结构体变量,而是一个结构体地址 time *p = sum(*day,day3); show(*p); delete day; delete p; return 0; } time *sum(time t1, time t2) { //time total; time *total = new time; total->minute = (t1.minute + t2.minute) % perhour; total->hour = t1.hour + t2.hour + (t1.minute + t2.minute) / perhour; //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<<t.hour<<":"<<t.minute<<endl; }*/