1、函數重載框架練習
#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 x; x.real=a.real+b.real; x.imaginary=a.imaginary+b.imaginary; return x;}
int main() {cout<<"1+2="<<add(1,2)<<endl; cout<<"1.2+3.4="<<add(1.2,3.4)<<endl; cout<<"(1+3i)+(2+4i)="<<add(1,2)<<"+"<<add(3,4)<<"i"<<endl; }
2、快速排序
#include<iostream> using namespace std; void QuickSort(double a[], int left,int right) {if(left<right) {int i=left; int j=right; double x=a[i]; while(i<j) {while(i<j&&a[j]>x) j--; if(i<j) {a[i]=a[j]; i++;} while(i<j&&a[i]<x) i++; if(i<j) {a[j] = a[i]; j--;}} a[i]=x; QuickSort(a, left, i-1); QuickSort(a, i+1, right); }}
int main() {int i,k; double a[100]; char s; for(i=0;i<100;i++) {cin>>a[i]; if(getchar()=='\n')break;else k++;} QuickSort(a,0,i-1); cout<<"排序后的數為: "; for(i=0;i<k;i++) cout<<a[i]<<' '; cout<<endl; return 0; }
3、類的定義、實現與使用
#include <iostream> #include <string> using namespace std; class User {public: User(string name1, string passwd1, string email1); User(){ name=""; passwd="111111"; email="";}
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) {if (name == " ")cin>>name1; name=name1; if(passwd == " ")cin>>passwd1; passwd=passwd1; if(email == " ")cin>>email1; email=email1; }
void User::changePasswd(){ string oldpasswd; int n=1; cout<<"請輸入原密碼:"; cin>>oldpasswd; while(oldpasswd!=passwd) {cout<<"錯誤,請重試:"; cin>>oldpasswd; n++;} if(oldpasswd==passwd) {cout<<"請輸入新密碼:"; cin>>passwd;} }
void User::printInfo(){ cout<<"姓名: "<<name<<endl; cout<<"密碼:******"<<endl; cout<<"email: "<<email<<endl; cout<<endl;}
int main() {User user1; user1.setInfo("Leonard"); user1.printInfo(); user1.changePasswd(); user1.printInfo(); User user2; user2.setInfo("Jonny","92197","xyz@hotmail.com"); user2.printInfo(); return 0;}