重载是如何实现的?
几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数 接口的两个要素:参数与返回值。
如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们是不同的函 数。
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 int main(int argc, char** argv) { 6 //定义结构类型 7 struct books 8 { 9 char title[20]; 10 char author[15]; 11 int pages; 12 float price; 13 } ; 14 15 //声明结构变量 16 struct books Zbk={"VC++ ","Zhang",295,35.5}; 17 books Wbk; 18 19 //对结构变量的输出 20 cout<<"Zbk:"<<endl; 21 cout<<Zbk.title <<endl; 22 cout<<Zbk.author<<endl; 23 cout<<Zbk.pages<<endl; 24 cout<<Zbk.price<<endl; 25 cout<<"--------------------"<<endl; 26 27 //对结构成员的运算 28 Zbk.pages+=10; 29 Zbk.price+=0.5; 30 cout<<"Zbk.pages="<<Zbk.pages<<endl; 31 cout<<"Zbk.price="<<Zbk.price<<endl; 32 cout<<"--------------------"<<endl; 33 34 //对结构变量的输入输出 35 cout<<"Wbk.title ="; 36 cin>>Wbk.title; 37 cout<<"Wbk.author="; 38 cin>>Wbk.author; 39 cout<<"Wbk.pages="; 40 cin>>Wbk.pages; 41 cout<<"Wbk.price="; 42 cin>>Wbk.price; 43 cout<<"Wbk:"<<endl; 44 cout<<Wbk.title <<endl; 45 cout<<Wbk.author<<endl; 46 cout<<Wbk.pages<<endl; 47 cout<<Wbk.price<<endl; 48 cout<<"--------------------"<<endl; 49 50 //结构变量之间的相互赋值 51 books temp; 52 temp=Wbk; 53 cout<<"temp:"<<endl; 54 cout<<temp.title<<endl; 55 cout<<temp.author<<endl; 56 cout<<temp.pages<<endl; 57 cout<<temp.price<<endl; 58 return 0; 59 }