实验2
1.函数重载add()
#include<iostream> using namespace std; struct complex { double real; double imaginary; }; int Add(int a,int b) { return a+b; } double Add(double a, double b) { return a+b; } complex Add(complex a,complex b) { complex s; s.imaginary=a.imaginary+b.imaginary; s.real=a.real+b.real; return s; } int main() { complex a={1.1,2.1}; complex b={3.1,4.1}; complex c=Add(a,b); cout<<"1+2="<<Add(1,2)<<endl; cout<<"1.5+2.5="<<Add(1.5,2.5)<<endl; cout<<"complex ab="<<c.real<<","<<c.imaginary<<endl; return 0; }
2.快速排序
#include<iostream>
using namespace std;
template<class X>
X Quicksort(X a[],int low,int high)
{ if(low>=high)
{ return 0;
}
int n1=low;
int e1=high;
int key=a[n1];
while(n1<e1)
{ while(a[e1]>=key&&n1<e1)
{ --e1;
}
a[n1]=a[e1];
while(a[n1]<=key&&n1<e1)
{ ++n1;
}
a[e1]=a[n1];
}
a[n1]=key;
Quicksort(a,low,n1-1);
Quicksort(a,n1+1,high);
}
int main()
{int i,a[5]={3,6,4,9,5};
Quicksort(a,0,5);
for(i=1;i<6;i++)
cout<<a[i]<<" ";
return 0;
}
3.类对象
#include <iostream> #include <string> using namespace std; class User{ public: void setinfo(string name1="",string passwd1="111111",string email1=""); void changepasswd(); void printinfo(); private: string name; string passwd; string email; }; void User::setinfo(string name1,string passwd1,string email1){ name=name1; passwd=passwd1; email=email1; } void User::changepasswd(){ string old; int i=0; do{cout<<"请输入原密码:"; cin>>old; if(old==passwd) {cout<<"请输入修改后的密码:"; cin>>passwd; cout<<"修改成功:"; break; } else i++; if(i==3) cout<<"连续三次输错,请稍后重试!"; }while(i!=3); } void User::printinfo(){ cout<<"name: "<<name<<endl; cout<<"password:******"<<endl; cout<<"email: "<<email<<endl; } int main(){ cout << "testing 1......" << endl; User user1; user1.setinfo("Leonard"); user1.printinfo(); user1.changepasswd(); user1.printinfo(); cout << "testing 2......" << endl; User user2; user2.setinfo("Jonny","92197","xyz@hotmail.com"); user2.printinfo(); return 0; }