21天C++课程代码(完整版)

//#include 

//using namespace std;

//int main(int argc, char *argv[])
//{
//    cout << "Hello World!" << endl;
//    return 0;
//}

//1.6.2 -1
//#include
//int main()
//{
//    int x =8;
//    int y =6;
//    std::cout << std::endl;
//    std::cout << x - y << " " << x * y <<" "<< x +y;
//    std::cout << std::endl;
//    return 0;
//}

//1.6.2 -3
//#include
//int main()
//{
//    std::cout <<"Hello Buddd";
//    return 0;
//}

//2.8.2 -1
//东西太简单,也得去做
//#include
//int main()
//{
//    std::cout<<"IS";
//}

//2.8.2 -4
//#include
//using namespace std;//std is namespace !
//int a();

//int main()
//{
//    a();
//    return 0;
//}
//int a()
//{
//    cout<<"AAAA"<
//enum YOURCARDS{ACE=43,JACK,QUEEN,KING}; //变量的类型  变量类型中的值  类比一下 比如int
//using namespace std;
//int main()
//{
//    cout<<"QUEEN"<
//int main()
//{
//    using namespace std;
//    cout<<"size of int: "<
//int main()
//{
//    const float PI =3.1415926;
//    using namespace std;
//    cout<<"PI: "<
//using namespace std;

//int main()
//{
//    cout<<"This program will help you multiply two numbers"<>FirstNumber;//qt框架下不能用这个

//    cout<<"Enter the second number: "<>SecondNumber;

//    int MultiplicationResult =FirstNumber *SecondNumber;
//    cout<>FirstNumber;//qt框架下不能用这个

//    cout<<"Enter the second number: "<>SecondNumber;

//    int MultiplicationResult =FirstNumber *SecondNumber;
//    cout<
//using namespace std;

//int FirstNumber = 11;
//int SecondNumber = 12;
//int MultiplicationResult =0;
//int MultiplyNumbers()
//{
//    //cout<<"Enter the first number: "<>FirstNumber;//qt框架下不能用这个

//    //cout<<"Enter the second number: "<>SecondNumber;

//    MultiplicationResult =FirstNumber *SecondNumber;
//    cout<
//using namespace std;//放哪都行啊

//int main()
//{
//    cout<<"Size of bool: "<
//using namespace std;
//int main()
//{
//    auto Flag = true;
//    auto Number = 250000;
//    cout<<"Flag = "<
//using namespace std;
//enum CardinalDirections
//{
//  North =25,
//  South,
//  East,
//  West
//};

//int main()
//{
//    cout<
//#include
//using namespace std;

//int main()
//{
//    vector DynArrNums;
//    DynArrNums.push_back(1);
//    DynArrNums.push_back(11111);
//    DynArrNums.push_back(122);
//    DynArrNums.push_back(122);

//    cout<<"DynArrNums's size: "<
//using namespace std;

//int main()
//{
//    char SayHello[]={'H','e','l','l','o','m','y','w','o','r','l','d','\0'};
////    SayHello[5] = '\0';
//    //cout只能遇到空字符才能停止打印,如果没有空字符的话,程序将崩溃
//    cout<
//#include
//#include//两个不一样
//using namespace std;

//int main()
//{
//    cout<<"Enter a word NOT longer than 20 charachers"<
//#include

//using namespace std;

//int main()
//{
//    string Greetings ("hello std::string!");
//    cout<
//using namespace std;
//int main()
//{
//    int MyInt =101;
//    cout<<"Start value of integer being operated: "<
//using namespace std;

//int main()
//{
//    int number =10;
//    int Result = number<<1+1<<1;
//    cout<<"Result: "<
//#include
//using namespace std;

//int main()
//{
//    char Buffer[20]={'\0'};
//    cout<<"Enter a line of text: "<
//using namespace std;
//int main()
//{
//    cout<<"Enter two numbers"< Num2) ? Num1 : Num2;
//    cout<<"Max: "<
//using namespace std;

//int main()
//{
//    for (int Index =1; Index<2;Index++)
//    {
//        cout<<"AAA"<
//using namespace std;

//int FibonacciNum(int n)
//{
//    if(n < 0){
//        return -1;
//    }else if(n == 0){
//        return 0;
//    }else if(n == 1){
//        return 1;
//    }else {
//        return(FibonacciNum(n-1) + FibonacciNum(n-2));
//    }
//}

//int main(){
//    int num=10;

//    if((num >= 0) && (num <= 50))
//    {
//        cout<
//using namespace std;
//int main()
//{
//    while(-1)
//    {
//        cout<<"-1 is OK "<
//using namespace std;
//int main()
//{
//    const int ARRAY_LEN = 5;
//    int MyNumber[ARRAY_LEN]={-55,45,9889,0,45};
//    for(int nIndex = ARRAY_LEN-1;nIndex>=0;--nIndex)
//        cout<<"Number["<
//using namespace std;

//int main()
//{
//    enum RainbowOfColor
//    {
//        Red =0,
//        Orange,
//        Yellow,
//        Green_1,
//        Blue,
//        Green_2,
//        Pink
//    };

//    cout<<"Please Input Color"<
//using namespace std;

//int GetFibNumber(int FibIndex)
//{
//    if(FibIndex < 2)
//    {
//        return FibIndex;
//    }
//    else
//    {
//        return(GetFibNumber(FibIndex-2)+GetFibNumber(FibIndex-1));
//    }
//}
//int main()
//{
//    cout<<"Fibonacci"<
//using namespace std;

//void DisplayArray(int Number[],int length)
//{
//    cout<
//using namespace std;
//const double PI = 3.14;
//void Area(double Radius,double& Result)
//{
//    Result = PI*Radius*Radius;
//}
//int main()
//{
//    double Radius = 10;
//    double AreaFetched=0;
//    Area(Radius,AreaFetched);
//    cout<
//#include
//#include
//using namespace std;

//int main()
//{
//    vector MyNumbers;
//    MyNumbers.push_back(1);
//    MyNumbers.push_back(2);
//    MyNumbers.push_back(3);
//    cout<
//using namespace std;
//int main()
//{
//    int Age = 30;
//    int* pInteger = &Age;

//    //Displaying the value of pointer
//    cout<<"Integer Age is at:"<
//using namespace std;

//int main()
//{
//    int Age =30;
//    int* pInteger = &Age;
//    cout<<"pInteger points to Age now"<
//using namespace std;
//int main()
//{
//    int* pAge = new int;

//    cout<<"Enter you dog's age: "<
//#include
//using namespace std;
//int main()
//{
//    string Name ="zhengguoxian";
//    int CharsToAllocate=Name.length()+1;
//    cout<
//#include
//using namespace std;
//int main()
//{
//    cout<<"How many chars you wish to enter?";
//    string Name = "zhengguoxian";
//    int InputNums = Name.length()+1;
//    char* pNumbers = new char [InputNums];
//    strcpy(pNumbers,Name.c_str());
//    char* pCopy = pNumbers;


//    cout<<"Successfully allocated memory for "<
//using namespace std;
//void CalcArea(const double* const pPI,const double* const pRadius, double* const pArea)
//{
//    if(pPI&&pRadius&&pArea)
//    {
//        *pArea = (*pPI)*(*pRadius)*(*pRadius);
//    }
//}

//int main()
//{
//    const double PI=3.1416;
//    double Radius =10;
//    double Area;
//    CalcArea(&PI,&Radius,&Area);
//    cout<<"Area is = "<
//using namespace std;
//int main()
//{
//    int MyNumbers[5];
//    int* pNumbers = MyNumbers;
//    cout<<"pNumbers = "<
//using namespace std;
//int main()
//{
//    const int ARRAY_LEN = 5;
//    int MyNumbers[ARRAY_LEN] ={24,-1,333,111,444};
//    int* pNumbers = MyNumbers;

//    cout<<"Displaying array using pointer syntax,operator*"<
//using namespace std;
//int main()
//{
//    try
//    {
//        int* pAge =new int [1111111111111111];
//        delete[] pAge;
//    }
//    catch(bad_alloc)
//    {
//        cout<<"Memory allocation failed.Ending program"<
//using namespace std;

//int main()
//{
//    int* pAge = new(nothrow) int[1111111111111111111111111111111111111111111];
//    cout<
//using namespace std;
//int main()
//{
//    int Original =30;
//    cout<<"Original = "<
//using namespace std;
//CalculateSquare(const int& Number, int& Result)
//{
//    Result= Number*Number;
//}
//int main()
//{
//    cout<<"Enter a number you wish to square: "<
//using namespace std;
//class Human
//{
//private:
//    int Age;
//public:
//    void SetAge(int InputAge)
//    {
//        Age =InputAge;
//    }
//    int GetAge()
//    {
//        if(Age>30)
//          return(Age-2);
//        else
//           return Age;
//    }
//};
//int main()
//{
//    Human FirstMan;
//    FirstMan.SetAge(35);

//    Human FirstWoman;
//    FirstWoman.SetAge(22);

//    cout<<"Age of FirstMan "<
//#include
//using namespace std;

//class Human
//{
//private:
//    string Name;
//    int Age;

//public:
//    Human()
//    {
//        Age = 0;
//        cout<<"Constructed an instance of class Human"<
//#include
//using namespace std;
//class Human
//{
//private:
//    string Name;
//    int Age;
//public:
//    Human()
//    {
//        Age = 0;
//        cout<<"Default constructor creates an instance of Human"<
//using namespace std;
//class Human
//{
//private:
//    int Age;
//    string Name;
//public:
//    Human(string InputName = "Adam",int InputAge =25):Name(InputNamse),Age(InputAge)
//    {
//        cout<<"Constructed a Human called "<
//#include
//using namespace std;
//class MyString
//{
//private:
//    char* Buffer;
//public:
//    //Constructor
//    MyString(const char* InitialInput)
//    {
//        if (InitialInput != NULL)
//        {
//            Buffer = new char [strlen(InitialInput)+1];
//            strcpy(Buffer,InitialInput);
//        }
//        else
//        {
//            Buffer =NULL;
//        }
//    }
//    //Destructor
//    ~MyString()
//    {
//        cout<<"Invoking destructor,clearing up"<
//#include
//using namespace std;

//class MyString
//{
//private:
//    char* Buffer;
//public:
//    //constructor
//    MyString(const char* InitialInput)
//    {
//        cout<<"Constructor: creating new MyString"<
//#include
//using namespace std;

//class President
//{
//private:
//    President(){};

//    President(const President&);

//    const President& operator=(const President&);

//    string Name;
//public:
//    static President& GetInstance()
//    {
//        static President OnlyInstance;
//        return OnlyInstance;
//    }

//    string GetName()
//    {
//        return Name;
//    }

//    void SetName(string InputName)
//    {
//        Name =InputName;
//    }

//};

//int main()
//{
//    President& Only =President::GetInstance();
//    Only.SetName("ABraham Lincolin");

////    President Second;//因为构造函数私有  //定义一个对象
////    President* Third =new President();//因为构造函数私有//new 一个对象


////    Only = President::GetInstance();//对现有对象的拷贝,拷贝构造函数设为私有,就不能再main函数中使用
//    cout<<"The name of the President is: ";
////    cout<
//using namespace std;
//class MonsterDB
//{
//private:
//    ~MonsterDB() {};//private destructor

//public:
//    static void DestroyInstance(MonsterDB* pInstance)
//    {
//        delete pInstance;
//    }
//};

//int main()
//{
//    MonsterDB* pMyDateBase = new MonsterDB();

//    MonsterDB::DestroyInstance(pMyDateBase);
//    cout<<"aaaaaa"<
//#include
//using namespace std;

//class MyString
//{
//private:
//    char* Buffer;

//public:
//    MyString(const char* InitialInput)
//    {
//        if(InitialInput != NULL)
//        {
//            Buffer = new char [strlen(InitialInput)+1];
//            strcpy(Buffer,InitialInput);
//        }
//        else
//        {
//            Buffer = NULL;
//        }
//    }
//    //拷贝构造函数
//    MyString(const MyString& CopySource)
//    {
//        if(CopySource.Buffer != NULL)
//        {
//            Buffer = new char [strlen(CopySource.Buffer)+1];
//            strcpy(Buffer,CopySource.Buffer);
//        }
//        else
//        {
//            Buffer = NULL;
//        }
//    }

//    ~MyString()
//    {
//        if(Buffer != NULL)
//        {
//            delete [] Buffer;
//        }
//    }

//    int GetLength()
//    {
//        return strlen(Buffer);
//    }

//    const char* GetString()
//    {
//        return Buffer;
//    }
//};

//class Human
//{
//private:
//    int Age;
//    bool Gender;
//    MyString Name;
//public:
//    Human(const MyString& InputName, int InputAge, bool InputGender):Name(InputName),Age(InputAge),Gender(InputGender){}

//    int GetAge()
//    {
//        return Age;
//    }
//};

//int main()
//{
//    MyString FirstMan("Adam");
//    MyString FirstWoman("Eve");

//    cout<<"sizeof(MyString) = "<
//#include
//using namespace std;

//class Human
//{
//private:
//    string Name;
//    int Age;
//    friend class Utility;

//public:
//    Human(string InputName, int InputAge)
//    {
//        Name = InputName;
//        Age = InputAge;
//    }
//};

//class Utility
//{
//public:
//    //静态成员
//    static void DisplayAge(const Human& Person)
//    {
//        cout<
//using namespace std;
//class Fish
//{
//public:
//    bool FreshWaterFish;

//    void Swim()
//    {
//        if(FreshWaterFish)
//            cout<<"Swims in lake"<
//using namespace std;

//class Fish
//{
//protected:
//    bool FreshWaterFish;

//public:
//    void Swim()
//    {
//        if(FreshWaterFish)
//            cout<<"Swims in lake "<
//using namespace std;

//class Fish
//{
//protected:
//    bool FreshWaterFish;
//public:
//    Fish(bool IsFreshWater): FreshWaterFish(IsFreshWater){}

//    void Swim()
//    {
//        if(FreshWaterFish)
//           cout<<"Swims in lake"<
//using namespace std;

//class Fish
//{
//private:
//    bool FreshWaterFish;

//public:
//    Fish(bool IsFreshWater): FreshWaterFish(IsFreshWater) {}

//    void Swim()
//    {
//        if(FreshWaterFish)
//           cout<<"Swims in lake"<
//using namespace std;
//class Fish
//{
//private:
//    bool FreshWaterFish;
//public:
//    Fish(bool IsFreshWater):FreshWaterFish(IsFreshWater) {}

//    void Swim()
//    {
//        if(FreshWaterFish)
//            cout<<"Swims in lake"<
//using namespace std;

//class Fish
//{
//public:
//    void Swim()
//    {
//        cout<<"Fish swims ...!"<
//using namespace std;

//class FishDummyMember
//{
//public:
//    FishDummyMember()
//    {
//        cout<<"FishDummyMember constructor"<
//using namespace std;

//class Motor
//{
//public:
//    void SwitchIgnition()
//    {
//        cout<<"Ignition ON"<
//using namespace std;
//class Motor
//{
//public:
//    void SwitchIgnition()
//    {
//        cout<<"Ignition ON"<
//using namespace std;

//class Mammal
//{
//public:
//    Mammal()
//    {
//        cout<<"Mammal constructor"<
//using namespace std;

//class Fish
//{
//public:
//    void Swim()
//    {
//        cout<<"Fish swims"<
using namespace std;
class Fish
{
public:
   virtual void Swim()
    {
        cout<<"Fish swims"<
//using namespace std;
//class Fish
//{
//public:
//    Fish()
//    {
//        cout<<"Fish constructor"<
//using namespace std;
//class Fish
//{
//public:
//    Fish()
//    {
//        cout<<"Fish constructor"<
//using namespace std;
//class Fish
//{
//public:
//    virtual void Swim()=0; //纯虚函数

//};

//class Tuna:public Fish
//{
//public:
//    void Swim()
//    {
//        cout<<"Tuna swims fast in the sea"<
//using namespace std;

//class Animal
//{
//public:
//    Animal()
//    {
//        cout<<"Animal constructor"<
//using namespace std;

//class Animal
//{
//public:
//    Animal()
//    {
//        cout<<"Animal constructor"<
//using namespace std;

//class Shape
//{
//public:
//    virtual double Area() =0;//纯虚函数,使基类变成抽象基类
//    virtual void Print() =0;
//};

//class Circle:public Shape
//{
//    double Radius;
//public:
//    Circle(double inputRadius) :Radius(inputRadius) {}

//    double Area()
//    {
//        return 3.1416*Radius*Radius;
//    }

//    void Print()
//    {
//        cout<<"Circle says hello"<
//using namespace std;
//class Date
//{
//private:
//    int Day;
//    int Month;
//    int Year;
//public:
//    Date(int InputDay,int InputMonth, int InputYear):Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    //???
//    Date& operator ++ ()
//    {
//        ++Day;
//        return *this;
//    }

//    Date& operator -- ()
//    {
//        --Day;
//        return *this;
//    }
//    void DisplayDate()
//    {
//        cout<
//#include
//#include
//using namespace std;
//class Date
//{
//private:
//    int Day;
//    int Month;
//    int Year;
//    string DateInString;
//public:
//    Date(int InputDay,int InputMonth, int InputYear):Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    operator const char*()
//    {
//        ostringstream formattedDate;
//        formattedDate<
//#include
//using namespace std;

//class Date
//{
//private:
//    int Day;
//    int Month;
//    int Year;

//    string DateInString;

//public:
//    Date(int InputDay,int InputMonth,int InputYear):Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    void DisplayDate()
//    {
//        cout< pDynamicAllocInteger(new int);
//    //??  *(地址) = 值    &(变量) = 地址 有啥区别
//    *pDynamicAllocInteger =42;

//    cout<<"Integer value is "<<*pDynamicAllocInteger< pHoliday(new Date(25,11,2011));
//    cout<<"The new instance of date contains: ";
//    pHoliday->DisplayDate();

//    int Age =30;
//    //
//    int* pInteger = &Age;

//    cout<<*pInteger<
//using namespace std;

////???类似函数重载的功能  函数模板
//template 

//class smart_pointer
//{
//private:
//    T* m_pRawPointer;
//public:
//    smart_pointer(T* pData):m_pRawPointer(pData) {};
//    ~smart_pointer(){delete m_pRawPointer;}

//    //???
//    T& operator*() const
//    {
//        return *(m_pRawPointer);
//    }

//    //??? 一用这个->符号,我就调用这个函数吗  那是固定的格式吗
//    T* operator-> () const
//    {
//        return m_pRawPointer;
//    }
//};

//class Date
//{
//private:
//    int Day,Month,Year;
//    string DateString;
//public:
//    Date(int InputDay,int InputMonth, int InputYear): Day(InputDay),Month(InputMonth),Year(InputYear) {};
//    void DisplayDate()
//    {
//        cout< pDynamicInt(new int(43));
//    cout<<"BBBB"<<*pDynamicInt< pDate(new Date(25,12,2011));
//    cout<<"AAAA";
//    pDate->DisplayDate();

//    //这是一种
////    Date pDate(25,12,2011);
////    pDate.DisplayDate();

////    //第二种
////    Date* pDate(new Date(25,12,2011));
////    (*pDate).DisplayDate();
////    pDate->DisplayDate();//这个也行

////    int* pDynamicInt(new int(43));
////    cout<<"DDDD"<<*pDynamicInt<
//using namespace std;

//class Date
//{
//private:
//    int Day, Month, Year;

//public:
//    Date(int InputDay,int InputMonth, int InputYear):Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    Date operator+ (int DaysToAdd)
//    {
//        //???
//        Date newDate (Day+DaysToAdd,Month,Year);
//        return newDate;
//    }

//    Date operator- (int DaysToSub)
//    {
//        //???两个的表达的功能是一样的
////        return Date(Day-DaysToSub,Month,Year);
//        Date newDate1 (Day-DaysToSub,Month,Year);
//        return newDate1;
//    }

//    void DisplayDate()
//    {
//        cout<
//using namespace std;
//class Date
//{
//private:
//    int Day,Month,Year;
//public:
//    Date(int InputDay,int InputMonth,int InputYear):Day(InputDay),Month(InputMonth),Year(InputYear) {};
//    void operator += (int DaysToAdd)
//    {
//        Day+=DaysToAdd;
//    }

//    void operator -= (int DaysToSub)
//    {
//        Day-=DaysToSub;
//    }

//    void DisplayDate()
//    {
//        cout<
//using namespace std;

//class Date
//{
//private:
//    int Day,Month,Year;
//public:
//    Date(int InputDay,int InputMonth, int InputYear): Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    //???
//    bool operator == (const Date& compareTo)
//    {
//        return((Day == compareTo.Day)&&(Month == compareTo.Month)&&(Year==compareTo.Year));
//    }
//    //???
//    bool operator != (const Date& compareTo)
//    {
//        return!(this->operator==(compareTo));
//    }

//    void DisplayDate()
//    {
//        cout<

//using namespace std;

//class Date
//{
//private:
//    int Day,Month,Year;
//public:
//    Date(int InputDay,int InputMonth,int InputYear): Day(InputDay),Month(InputMonth),Year(InputYear) {};

//    bool operator == (const Date& compareTo)
//    {
//        return ((Day == compareTo.Day)&&(Month==compareTo.Month)&&(Year==compareTo.Year));
//    }

//    bool operator < (const Date& compareTo)
//    {
//        if(Year operator == (compareTo))
//            return true;
//        else
//            return this->operator < (compareTo);
//    }

//    bool operator > (const Date& compareTo)
//    {
//        return !(this->operator <= (compareTo));
//    }

//    bool operator >=(const Date& compareTo)
//    {
//        if(this->operator == (compareTo))
//            return true;
//        else
//            return this->operator > (compareTo);

//    }

//    bool operator !=(const Date& compareTo)
//    {
//        return !(this->operator == (compareTo));
//    }

//    void DisplayDate()
//    {
//        cout<Holiday2)
//     cout<<"Holiday1>Holiday2"<=Holiday2)
//     cout<<"Holiday1>=Holiday2"<
//#include
//using namespace std;
//class MyString
//{
//private:
//    char* Buffer;

//public:
//    MyString(const char* InitialInput)
//    {
//        if(InitialInput != NULL)
//        {
//            Buffer = new char [strlen(InitialInput)+1];
//            strcpy(Buffer,InitialInput);
//        }
//        else
//        {
//            Buffer =NULL;
//        }
//    }
//    //拷贝构造函数
//    MyString(const MyString& CopySource);
//    //复制赋值运算符
//    //this 当前对象的地址
//    //当前对象是???
//    MyString& operator = (const MyString& CopySource)
//    {
//        if((this != &CopySource)&&(CopySource.Buffer != NULL))
//        {
//            if(Buffer !=NULL)
//                delete [] Buffer;

//            Buffer = new char [strlen(CopySource.Buffer)+1];

//            strcpy(Buffer,CopySource.Buffer);
//        }
//        return *this;
//    }

//    ~MyString()
//    {
//        if(Buffer != Buffer)
//            delete [] Buffer;
//    }

//    int GetLength()
//    {
//        return strlen(Buffer);
//    }
//    //目的:让cout显示类的对象
//    operator const char*()
//    {
//        return Buffer;
//    }
//};

//int main()
//{
//    MyString String1("Hello");
//    MyString String2("World");

//    cout<<"Before assignment: "<
//#include
//using namespace std;

//class MyString
//{
//private:
//    char* Buffer;
//    //private default constructor
////    MyString(){}//可以不写
//public:
//    //constructor
//    MyString(const char* InitialInput)
//    {
//        if(InitialInput != NULL)
//        {
//            //为什么要加1呢
//            Buffer = new char [strlen(InitialInput)+1];
//            strcpy(Buffer,InitialInput);
//        }
//        else
//            Buffer = NULL;
//    }
//    //copy constructor
//    MyString(const MyString& CopySource);
//    //copy assignment operator
//    MyString& operator=(const MyString& CopySource);

//    //下标运算符  两个const啥意思呢  后一个const  禁止修改了类的成员属性
//    const char& operator[] (int Index) const
//    {
//        if(Index 
//#include
//using namespace std;

//class CDisplay
//{
//public:
//    void operator () (string Input) const
//    {
//        cout<
//#include
//using namespace std;

//class MyString
//{
//private:
//    char* Buffer;

//    //private default constructor
//    //为啥要变为私有呢???
//    //我认为无所谓


//public:
//    MyString(): Buffer(NULL)
//    {
//        cout<<"Default constructor called"<
//using namespace std;

//class Fish
//{
//public:
//    //虚函数  例子11.2
//    virtual void Swim()
//    {
//        cout<<"Fish swims in water"<(InputFish);

//    cout<<"pIsTuna"<BecomeDinner();
//    }

//    Carp* pIsCarp = dynamic_cast(InputFish);

//    cout<<"pIsCarp"<Talk();
//    }
//    cout<<"Verifying type using virtual Fish::Swim: "<Swim();
//}

//int main()
//{
//    Carp myLunch;
//    Tuna myDinner;

//    DetectFishType(&myDinner);
//    cout<
//#include
//using namespace std;

//#define ARRAY_LENGTH 25
//#define PI 3.1416
//#define MY_DOUBLE double
//#define FAV_WHISKY "Jack Daniels"

//int main()
//{
//    int MyNumbers[ARRAY_LENGTH] ={0,1,2,2};
//    cout<<"Array's length: "<
//#include
//using namespace std;
//#define SQUARE(x) ((x)*(x))
//#define PI 3.1416
//#define AREA_CIRCLE(r) (PI*(r)*(r))
//#define MAX(a,b) (((a)>(b))?(a):(b))
//#define MIN(a,b) (((a)<(b))?(a):(b))

//int main()
//{
////    cout<<"Enter a integer: "<
//#include
//using namespace std;

//template 
//const Type& GetMax(const Type& value1, const Type& value2)
//{
//    if(value1 > value2 )
//        return value1;
//    else
//        return value2;
//}
//template 
//void DisplayComparision(const Type& value1, const Type& value2)
//{
//    cout<
//using namespace std;

//template 
//class HoldsPair
//{
//private:
//    T1 Value1;
//    T2 Value2;

//public:
//    HoldsPair(const T1& value1,const T2& value2)
//    {
//        Value1 = value1;
//        Value2 = value2;
//    }

//    const T1& GetFirstValue() const
//    {
//        return Value1;
//    }

//    const T2& GetSecondValue() const
//    {
//        return Value2;
//    }
//};

//int main()
//{
//    HoldsPair <> mIntFloatPair(300,10.09);
//    //类<指定模板T1,T2是什么> 对象(传入构造函数参数);
//    HoldsPair mShortStringPair(25,"Learn templates,love C++");

//    //
//    cout<<"The first object contains -"<
//using namespace std;


//template 
//class TestStatic
//{
//public:
//    static T StaticValue;
//};
//template  T TestStatic::StaticValue;

//int main()
//{
//    TestStatic Int_Year;
//    Int_Year.StaticValue =2011;
//    TestStatic Int_2;

//    TestStatic Double1;
//    TestStatic Double2;
//    Double2.StaticValue =1011.11;

//    cout<<"Double1.StaticValue: "<
//using namespace std;

//template 
//class EverytingButInt
//{
//public:
//    EverytingButInt()
//    {
//        static_assert(sizeof(T) != sizeof(int),"No int please!");
//        cout<<"OK"< test;
//}


////14.7.2   -1
//#include
//using namespace std;
//#define SQUARE(x,y) ((x)*(y))

//int main()
//{
////    cout<<"Enter a integer: "<
//using namespace std;

//template 
//Type SquareTwoNumber(const Type& value1, const Type& value2)
//{
//    return (value1*value2);
//}
//template 
//void DisplayComparision(const Type& value1, const Type& value2)
//{
//    cout<
//using namespace std;

//template 
//void SwapTwoNumber( T& value1,  T& value2)
//{
//    T value3;
//    value3 =value1;
//    value1 =value2;
//    value2 =value3;
//}


//int main()
//{
//    int Int1 = 10,Int2 = 11;
//    SwapTwoNumber(Int1,Int2);
//    cout<<"Int1 :"<
//#include
//#include
//using namespace std;

//int main()
//{
//    vector vecIntegerArray;
//    vecIntegerArray.push_back(50);
//    vecIntegerArray.push_back(2991);
//    vecIntegerArray.push_back(23);
//    vecIntegerArray.push_back(9999);



//    //???vector::iterator  是每个元素的类型
//    //vecIntegerArray.end 最后一个元素的地址再加1
//    auto iArrayWalker = vecIntegerArray.begin();
//    cout<<"show *iArrayWalker"<<*iArrayWalker<::iterator iElement = find(vecIntegerArray.begin(), vecIntegerArray.end(),9999);
//    auto iElement = find(vecIntegerArray.begin(), vecIntegerArray.end(),9999);

//    if(iElement != vecIntegerArray.end())
//    {
//        int Position = distance(vecIntegerArray.end(),iElement);
//        cout<<"Value"<<*iElement;
//        cout<<"found in the vector at position"<
//#include
////using namespace std;
//int main()
//{
//    using namespace std;
//    const char* constCStyleString = "Hello String";
//    cout<<"Constant string is: "<
//#include
//using namespace std;
//int main()
//{
//    string strSTLString ("hello string");
//    cout<<"SSSSSSSSSSSSSSSSSSSSSSS"<
//#include

//int main()
//{
//    using namespace std;
//    string strSample1("Hello");
//    string strSample2("String!");

//    strSample1 +=strSample2;
//    cout<
//#include
//using namespace std;
//int main()
//{
//    string strSample("Good day String! today is beautiful!");
//    cout<<"The sample string is: "<
//#include
//#include
//using namespace std;

//int main()
//{
//    string strSample("hello SSSSString!String! wake up to a beautiful day!");
//    cout<
//#include
//#include
//using namespace std;

//int main()
//{
//    string strSample("Hello String! We will reverse you");
//    cout<
//#include
//#include

//using namespace std;

//int main()
//{
//    string strSample("hello my world");
//    cout<
//#include
//#include

//int main()
//{
//    using namespace std;
//    cout<<"..SRART.."<
//#include

//using namespace std;

//int GetNumCharacters(string& strInput, char chToFind)
//{
//    int nNumCharactersFound =0;
//    //??size_t 类似于int 类型
//    size_t nCharOffset = strInput.find(chToFind);
//    //string::npos 是一个非常大的数值
////    cout<
//#include
//#include

//int main()
//{
//    using namespace std;

//    cout<<"..START.."<
//#include

//using namespace std;

//int main()
//{
//    string str1 = "I";
//    string str2 = "LOVE";
//    string str3 = "YOU";

//    string strOutput = str1 + ' ' + str2 + ' ' + str3;
//    cout<

//int main()
//{
//    std::vector vecIntegers;
//    //这个向量初始化为10个元素,可以更大
//    std::vector vecWithTenElements(10);
//    //10个元素,每个元素初始化为90
//    std::vector vecWithTenInitializedElements(10,90);
//    //将另一个向量进行复制
//    std::vector vecArrayCopy(vecWithTenInitializedElements);
//    //将另一个向量的一些元素进行复制
//    std::vector vecSomeElementsCopied(vecWithTenElements.cbegin(),vecWithTenElements.cbegin()+5);

//}

////17.2使用push_back()插入元素
//#include
//#include
//using namespace std;

//int main()
//{
//    vector vecIntegers;

//    vecIntegers.push_back(50);
//    vecIntegers.push_back(11);
//    vecIntegers.push_back(10);
//    vecIntegers.push_back(91);
//    vecIntegers.push_back(10);
//    vecIntegers.push_back(81);


//    cout<<"OUTPUT"<
//#include
//using namespace std;

//void DisplayVector(const vector& vecInput)
//{
//    for(auto iElement = vecInput.cbegin();iElement != vecInput.cend(); ++iElement)
//    {
//        cout<<*iElement<<" ";

//    }
//}

//int main()
//{
//    //向量初始化为4个元素,每个元素的值为90
//    vector vecIntegers(4,90);
//    DisplayVector(vecIntegers);
//    cout< vecAnother(4,30);
//    //在第二个位置插入另一个向量
//    vecIntegers.insert(vecIntegers.begin()+1,vecAnother.begin(),vecAnother.end());
//    DisplayVector(vecIntegers);
//}

////17.4
//访问向量元素并修改
//#include
//#include
//using namespace std;

//int main()
//{
//    vector vecIntegerArray;

//    vecIntegerArray.push_back(11);
//    vecIntegerArray.push_back(12);
//    vecIntegerArray.push_back(123);
//    vecIntegerArray.push_back(11111);

//    for(size_t Index =0;Index 
//#include
//using namespace std;

//int main()
//{
//    vector vecIntegers;

//    vecIntegers.push_back(11);
//    vecIntegers.push_back(12);
//    vecIntegers.push_back(1111);
//    vecIntegers.push_back(12221);
//    vector::iterator iElementLocator = vecIntegers.begin();

//    while(iElementLocator != vecIntegers.end())
//    {
//        cout<<*iElementLocator<<" ";
//        ++iElementLocator;
//    }
//}

////17.6
////使用pop_back 删除最后一个元素
//#include
//#include
//using namespace std;

//template 
//void DisplayVector(const vector& vecInput)
//{
//    for(auto iElement = vecInput.cbegin();iElement != vecInput.cend();iElement++)
//    {
//        cout<<*iElement<<" ";
//    }
//}

//int main()
//{
//    vector vecIntegers;
//    vecIntegers.push_back(1);
//    vecIntegers.push_back(12);
//    vecIntegers.push_back(1111);
//    vecIntegers.push_back(2222);

//    DisplayVector(vecIntegers);
//    cout<
//#include
//using namespace std;

//int main()
//{
//    vector vecIntegers(5);

//    cout<
//#include
//#include
//using namespace std;

//int main()
//{
//    deque dqIntegers;
//    dqIntegers.push_back(1);
//    dqIntegers.push_back(12);
//    dqIntegers.push_back(12);

//    //在数组的开头插入元素
//    dqIntegers.push_front(1);
//    dqIntegers.push_front(2);
//    dqIntegers.push_front(3);

//    for(size_t nCount = 0;nCount 
//#include

//using namespace std;

//int main()
//{
//    vector vecData;
//    vecData.push_back(11);
//    vecData.push_back(12);
//    vecData.push_back(13);
//    cout<
//#include

//int main()
//{
//    using namespace std;

//    list listIntegers;
//    list listWith10Integers(10);
//    list listWith4IntegerEach99(10,99);
//    list listCopyAnother(listWith4IntegerEach99);

//    vector vecIntegers(10,2011);
//    list listContainsCopyOfAnother(vecIntegers.cbegin(),vecIntegers.cend());

//    return 0;

//}

////18.2
////使用push_back和push_front插入元素
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement = Input.cbegin();iElement !=Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< listIntegers;
//    listIntegers.push_front(10);
//    listIntegers.push_front(2011);
//    listIntegers.push_back(-1);
//    listIntegers.push_back(11);
//    DisplayContents(listIntegers);
//}


//18.3
//在list中插入元素的各种方法
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<' ';
//    }
//    cout< listIntegers1;
//    listIntegers1.insert(listIntegers1.begin(),2);
//    listIntegers1.insert(listIntegers1.begin(),1);

//    listIntegers1.insert(listIntegers1.end(),3);

//    cout<<"The contents of list 1 after inserting elements"< listIntegers2;
//    listIntegers2.insert(listIntegers2.begin(),4,2);

//    cout<<"The contents of list 2 after inserting"< listIntegers3;
//    listIntegers3.insert(listIntegers3.begin(),listIntegers1.begin(),listIntegers1.end());
//    cout<<"the contents of list 3 after inserting the contents of ";
//    cout<<"list 1 at the begining"<
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< listIntegers;
//    listIntegers.push_back(4);
//    listIntegers.push_front(3);
//    listIntegers.push_back(5);

//    auto iValue2 =listIntegers.insert(listIntegers.begin(),2);
//    cout<<"Initial contents of the list:"<
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< listIntegers;
//    listIntegers.push_back(4);
//    listIntegers.push_front(3);
//    listIntegers.push_back(5);
//    DisplayContents(listIntegers);
//    listIntegers.reverse();
//    DisplayContents(listIntegers);

//    return 0;

//}



////18.6
////使用list::sort()将整型list按照升序和降序排列
//#include
//#include
//using namespace std;
//bool SortPredicate_Descending(const int& lsh,const int& rsh)
//{
//    return(lsh>rsh);
//}

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< listIntegers;
//    listIntegers.push_back(1);
//    listIntegers.push_front(3);
//    listIntegers.push_back(2);
//    DisplayContents(listIntegers);
//    listIntegers.sort();
//    DisplayContents(listIntegers);
//    listIntegers.sort(SortPredicate_Descending);
//    DisplayContents(listIntegers);
//    return 0;

//}



//18.8
//forward_list 单向链表
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< flistIntegers;
//    flistIntegers.push_front(1);
//    flistIntegers.push_front(26);
//    flistIntegers.push_front(24);
//    flistIntegers.push_front(23);
//    flistIntegers.push_front(22);
//    DisplayContents(flistIntegers);
//    flistIntegers.remove(23);
//    flistIntegers.sort();
//    DisplayContents(flistIntegers);
//}



////18.7存储对象的list
//#include
//#include
//#include

//using namespace std;
//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout<strContactsName);
//    }

//    bool operator < (const ContactItem& itemToCompare) const
//    {
//        return (this->strContactsName Contacts;
//    Contacts.push_back(ContactItem("Jack","#1"));
//    Contacts.push_back(ContactItem("Bill","#2"));
//    Contacts.push_back(ContactItem("Angle","#3"));
//    Contacts.push_back(ContactItem("Bara","#4"));
//    //为什么显示的是最后一个东西呢
//    DisplayContents(Contacts);
//    Contacts.sort();
//    DisplayContents(Contacts);
//    Contacts.sort(SortOnPhoneNumber);
//    DisplayContents(Contacts);
//    Contacts.remove(ContactItem("Bill",""));
//    DisplayContents(Contacts);
//}



////18.6.2  -2
//#include
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<' ';
//    }
//    cout< vecIntegers1;
//    vecIntegers1.push_back(11);
//    vecIntegers1.push_back(22);

//    list listIntegers3;
//    listIntegers3.push_back(1111);
//    listIntegers3.insert(listIntegers3.end(),vecIntegers1.begin(),vecIntegers1.end());
//    cout<<"the contents of list 3 after inserting the contents of ";
//    cout<<"list 1 at the begining"<
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<' ';
//    }
//    cout< vecIntegers1;
//    vecIntegers1.push_back(11);
//    vecIntegers1.push_back(22);

//    list listIntegers3;
//    listIntegers3.push_back(1111);
//    listIntegers3.insert(listIntegers3.end(),vecIntegers1.begin(),vecIntegers1.end());
//    cout<<"the contents of list 3 after inserting the contents of ";
//    cout<<"list 1 at the begining"<

//template 
//struct SortDescending
//{
//    bool operator()(const T& lhs,const T& rhs) const
//    {
//        return (lhs >rhs);
//    }
//};

//int main()
//{
//    using namespace std;

//    set setIntegers1;
//    multiset msetIntegers1;

//    set> setIntegers2;
//    multiset> msetIntegers2;

//    set setIntegers3(setIntegers1);
//    multiset msetIntegers3(msetIntegers1.cbegin(),msetIntegers1.cend());
//}

////19.2
////在集合中插入元素

//#include
//#include
//using namespace std;
//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement !=Input.cend();++iElement)
//    {
//        cout<<*iElement<<' ';
//    }
//}

//int main()
//{
//    set setIntegers;
//    multiset msetIntegers;

//    setIntegers.insert(60);
//    setIntegers.insert(-1);
//    setIntegers.insert(3000);
//    DisplayContents(setIntegers);

//    msetIntegers.insert(setIntegers.cbegin(),setIntegers.cend());
//    msetIntegers.insert(3000);
//    DisplayContents(msetIntegers);
//    cout<
//#include
//using namespace std;

//int main()
//{
//    set setIntegers;

//    setIntegers.insert(43);
//    setIntegers.insert(78);
//    setIntegers.insert(-1);
//    setIntegers.insert(124);

//    for(auto iElement =setIntegers.cbegin();iElement != setIntegers.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout<
//#include

//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement !=Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//}

//typedef multiset  MSETINT;

//int main()
//{
//    MSETINT msetIntegers;
//    msetIntegers.insert(43);
//    msetIntegers.insert(78);
//    msetIntegers.insert(-1);
//    msetIntegers.insert(124);

//    cout<<"multiset contains "<
//#include
//#include
//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }

//    cout<strContactName);
//    }

//    bool operator < (const ContactItem& itemToCompare) const
//    {
//        return (this->strContactName< itemToCompare.strContactName);
//    }
//    //used in DisplayContents()
//    operator const char*() const
//    {
//        return strDisplayRepresentation.c_str();
//    }
//};
//int main()
//{
//    set setContacts;
//    setContacts.insert(ContactItem("Jack","+110"));
//    setContacts.insert(ContactItem("Bill","+120"));
//    setContacts.insert(ContactItem("Angle","+130"));
//    setContacts.insert(ContactItem("Barack","+140"));
//    DisplayContents(setContacts);//上面有讲

//    string NameInput = "Jac";
//    auto iContactFound = setContacts.find(ContactItem(NameInput,""));
//    if(iContactFound != setContacts.end())
//    {
//        setContacts.erase(iContactFound);
//        DisplayContents(setContacts);
//    }
//    else
//    {
//        cout<<"Contact not found"<
//#include
//#include
//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    cout<<"Number of elements,size() = "< usetInt;
//    usetInt.insert(10);
//    usetInt.insert(5);
//    usetInt.insert(1);
//    usetInt.insert(12);
//    usetInt.insert(1222);
//    usetInt.insert(1222222);
//    usetInt.insert(1222334);

//    DisplayContents(usetInt);
//    usetInt.insert(111111);
//    DisplayContents(usetInt);
//    cout<
//#include
//#include
//#include

//using namespace std;
//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement = Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< msetDictionary;
//    PAIR_WORD_MEANING word1("C++","A programming language");
//    PAIR_WORD_MEANING word2("Programmer","A geek!");

//    msetDictionary.insert(word1);
//    msetDictionary.insert(word2);
//    DisplayContents(msetDictionary);
//}

////19.6.2   练习  -3
////set 只接受一个相同的数,multiset可接受多个相同的数
//#include
//#include

//using namespace std;

//template 
//void DisplayContent(const T& sequence)
//{
//    for(auto iElement = sequence.cbegin();iElement != sequence.cend();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//}

//int main()
//{
//    multiset msetIntegers;
//    msetIntegers.insert(11);
//    msetIntegers.insert(11);
//    msetIntegers.insert(11);
//    msetIntegers.insert(11);

//    set setIntegers;
//    setIntegers.insert(11);
//    setIntegers.insert(11);
//    setIntegers.insert(11);
//    setIntegers.insert(11);

//    DisplayContent(msetIntegers);
//    cout<
//#include
//#include

//template
//struct ReverseSort
//{
//    bool operator() (const KeyType& key1,const KeyType& key2)
//    {
//        return(key1 >key2);
//    }
//};

//int main()
//{
//    using namespace std;

//    map mapIntToString1;
//    multimap mmapIntToString1;

//    map mapIntToString2(mapIntToString1);
//    multimap mmapIntToString2(mmapIntToString1);

//    map mapIntToString3(mapIntToString1.cbegin(),mapIntToString1.cend());
//    multimap mmapIntToString3(mmapIntToString1.cbegin(),mmapIntToString1.cend());

//    map> mapIntToString4(mapIntToString1.cbegin(),mapIntToString1.cend());
//    multimap> mmapIntToString4(mmapIntToString1.cbegin(),mmapIntToString1.cend());

//}



////20.2
//使用insert以及数组语法(运算符[]) 在STL map和multimap中插入元素
//#include
//#include
//#include
//using namespace std;

//typedef map  MAP_INT_STRING;
//typedef multimap  MMAP_INT_STRING;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<first<<" -> "<second<(1000,"One Thousand"));

//    mapIntToString [100000] = "One Million";

//    cout<<"The map contains"<
//#include
//#include
//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement = Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<first<<" -> "<second< mapIntToString;
//    mapIntToString.insert(make_pair(3,"Three"));
//    mapIntToString.insert(make_pair(45,"Forty Five"));
//    mapIntToString.insert(make_pair(-1,"Minus One"));
//    mapIntToString.insert(make_pair(1000,"Thousand"));

//    cout<<"The multimap contains "<first<<"points to Value: ";
//        cout<second<
//#include
//#include
//using namespace std;

//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement = Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<first<<"->"<second<<" ";
//    }
//    cout< mmapIntToString;

//    mmapIntToString.insert(make_pair(3,"Three"));
//    mmapIntToString.insert(make_pair(45,"Forty Five"));
//    mmapIntToString.insert(make_pair(-1,"Minus One"));
//    mmapIntToString.insert(make_pair(1000,"Thousand"));

//    //增加冗余的东西
//    mmapIntToString.insert(make_pair(-1,"Minus One"));
//    mmapIntToString.insert(make_pair(1000,"Thousand"));

//    DisplayContents(mmapIntToString);
//    //返回的是数量
//    auto NumPairsErased = mmapIntToString.erase(3);
//    cout<
//#include
//#include
//#include
//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement = Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<first<<" -> "<second< DIRECTORY_WITHCASE;
////typedef map DIRECTORY_NOCASE;

//int main()
//{
////    DIRECTORY_WITHCASE dirCaseSensitive;
////    dirCaseSensitive.insert(make_pair("John","232222222"));
////    dirCaseSensitive.insert(make_pair("JOHN","232222222"));
////    dirCaseSensitive.insert(make_pair("Sara","123456879"));
////    dirCaseSensitive.insert(make_pair("Jack","222224522"));

////    DisplayContents(dirCaseSensitive);

////    auto iPairInCaseSensDir = dirCaseSensitive.find("JHN");
////    if(iPairInCaseSensDir != dirCaseSensitive.end())
////    {
////        cout<first<<"---"<second<
//#include
//#include
//using namespace std;

//template 
//void DisplayUnorderedMap(unordered_map& Input)
//{
//    cout<<"Number of pairs,size(): "<"<second<<" ";
//    }
//}

//int main()
//{
//    unordered_map umapIntToString;
//    umapIntToString.insert(make_pair(1,"One"));
//    umapIntToString.insert(make_pair(45,"Forty Five"));
//    umapIntToString.insert(make_pair(1001,"Thousand one"));

////    DisplayUnorderedMap(umapIntToString);


//    umapIntToString.insert(make_pair(11111,"Thousand one one one"));
////    DisplayUnorderedMap(umapIntToString);

//    auto iElementFound = umapIntToString.find(45);
//    if(iElementFound != umapIntToString.end())
//    {
//        cout<<"Found Key"<first<<"points to value";
//        cout<second<
//#include
//#include
//#include


//using namespace std;

//template 
//struct DisplayElement
//{
//    void operator()(const elementType& element) const
//    {
//        cout< vecIntegers;
//    for(int nCount = 0;nCount <10;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//    }

//    list listChars;

//    for(char nChar ='a';nChar<'k';++nChar)
//    {
//        listChars.push_back(nChar);
//    }

//    for_each(vecIntegers.begin(),vecIntegers.end(),DisplayElement());
//    cout<());

//}

////21.2
////使用函数对象存储状态
//#include
//#include
//#include
//using namespace std;

//template
//struct DisplayElementKeepCount
//{
//    int Count;

//    DisplayElementKeepCount():Count(0){}

//    void operator()(const elementType& element)
//    {
//        ++Count;
//        cout< vecIntegers;
//    for(int nCount =0; nCount <10;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//    }
//    DisplayElementKeepCount Result;
//    Result = for_each(vecIntegers.begin(),vecIntegers.end(),DisplayElementKeepCount ());
//    cout<
//#include
//#include
//using namespace std;

//template 
//struct IsMultiple
//{
//    numberType Divisor;

//    IsMultiple(const numberType& divisor)
//    {
//        Divisor = divisor;
//    }

//    bool operator ()(const numberType& element) const
//    {
//        return ((element%Divisor) == 0);
//    }
//};


//int main()
//{
//    vector vecIntegers;
//    for(int nCount= 29;nCount <32;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//        cout<(Divisor));

//    if(iElement != vecIntegers.end())
//    {
//        cout<<"First element in vector divisor by"<
//#include
//#include

//template 
//class Multiply
//{
//public:
//    elementType operator ()(const elementType& elem1,const elementType& elem2)
//    {
//        return (elem1*elem2);
//    };
//};

//int main()
//{
//    using namespace std;
//    vector vecMultiplicand,vecMultiplier;

//    for(int nCount1 = 0;nCount1 <10;++nCount1)
//    {
//        vecMultiplicand.push_back(nCount1);
//    }

//    for(int nCount2= 100;nCount2 <110;++nCount2 )
//    {
//        vecMultiplier.push_back(nCount2);
//    }

//    vector vecResult;

//    vecResult.resize(10);
//    transform(vecMultiplicand.begin(),vecMultiplicand.end(),vecMultiplier.begin(),vecResult.begin(),Multiply () );
//    for(size_t nIndex1 = 0;nIndex1
//#include
//#include
//using namespace std;
//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement= Input.cbegin();iElement != Input.cend();++iElement)
//    {
//        cout<<*iElement< vecNames;
//    vecNames.push_back("Jim");
//    vecNames.push_back("Tom");
//    vecNames.push_back("Adam");
//    vecNames.push_back("Sam");
//    DisplayContents(vecNames);
//    cout<
//#include
//#include

//using namespace std;

//template 
//struct DisplayElement
//{
//    void operator ()(const elementType& element)
//    {
//        cout< vecIntegers;
//    for(int nCount=0;nCount<10;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//    }

//    for_each(vecIntegers.cbegin(),vecIntegers.cend(),DisplayElement());
//}



////21.5.2  -2
//////

//#include
//#include
//#include

//using namespace std;

//template 
//struct DisplayElement
//{
//    int Count;
//    DisplayElement():Count(0){}
//    void operator ()(const elementType& element)
//    {
//        ++Count;
//        cout< vecIntegers;
//    for(int nCount=0;nCount<20;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//    }

//    DisplayElement Result;

//    Result = for_each(vecIntegers.cbegin(),vecIntegers.cend(),DisplayElement());
//    cout<
//#include
//#include
//#include

//using namespace std;

//int main()
//{
//    vector vecIntegers;

//    for(int nCount=0;nCount<10;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//    }

//    list listChars;
//    for(char nChar = 'a';nChar <'k';++nChar)
//    {
//        listChars.push_back(nChar);
//    }

//    for_each(vecIntegers.begin(),vecIntegers.end(),[](int& element){cout<
//#include
//#include
//using namespace std;

//int main()
//{
//    vector vecNums;

//    vecNums.push_back(11);
//    vecNums.push_back(111);
//    vecNums.push_back(12334);
//    vecNums.push_back(12);

//    auto iEvenNum =find_if(vecNums.begin(),vecNums.end(),[](const int& Num){return ((Num%2)==0);});
//    if(iEvenNum != vecNums.end())
//    {
//        cout<<*iEvenNum<
//#include
//#include

//using namespace std;

//int main()
//{
//    vector vecIntegers;

//    for(int nCount=25;nCount <=32;++nCount)
//    {
//        vecIntegers.push_back(nCount);
//        cout<::iterator iElement;
//    //什么格式呢
//    iElement =find_if(vecIntegers.begin(),vecIntegers.end(),[Divisor](int dividend){return (dividend%Divisor)==0;});
//    if(iElement != vecIntegers.end())
//    {
//        cout<
//#include
//#include

//int main()
//{
//    using namespace std;

//    vector vecMultiplicand,vecMultiplier;

//    for(int nCount1 =0;nCount1 <10;++nCount1)
//    {
//        vecMultiplicand.push_back(nCount1);
//    }

//    for(int nCount2 = 100;nCount2< 109;++nCount2)
//    {
//        vecMultiplier.push_back(nCount2);
//    }

//    vector vecResult;

//    //分配向量的大小
//    vecResult.resize(10);

//    //前两个数是范围,第3个数是,第4个数是保存的结果,第5个是lambda表达式
//    transform(vecMultiplicand.begin(),vecMultiplicand.end(),vecMultiplier.begin(),vecResult.begin(),[](int a,int b){return (a*b);});
//    for(size_t nIndex1 =0;nIndex1 
//#include
//#include
//#include

//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.cbegin();iElement != Input.cend();++iElement )
//    {
//        cout<<*iElement<<" ";
//    }
//}

//int main()
//{
//    vector vecNames;

//    vecNames.push_back("aaa");
//    vecNames.push_back("zzz");
//    vecNames.push_back("bbb");
//    vecNames.push_back("ccc");
//    DisplayContents(vecNames);

//    cout<bool
////         {
////          string str1LowerCase;
////          str1LowerCase.resize(str1.size());

////          transform(str1.begin(),str1.end(),str1LowerCase.begin(),tolower);
////          string str2LowerCase;
////          str2LowerCase.resize(str2.size());
////          transform(str2.begin(),str2.end(),str2LowerCase.begin(),tolower);

////          return(str1LowerCase str2);
//         }
//    );
//    DisplayContents(vecNames);
//}

////22.11.2  -2
////一元函数
//#include
//#include
//#include
//#include
//using namespace std;
//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//}
//int main()
//{
//    vector vecIntegers;
//    for(int nCount =1;nCount <=10;nCount++)
//    {
//        vecIntegers.push_back(nCount);
//    }
//    DisplayContents(vecIntegers);
//    int AddNum =2;
//    cout<
//#include
//#include

//int main()
//{
//    using namespace std;

//    vector vecIntegers;

//    for(int SampleValue =-9;SampleValue <10;++SampleValue)
//    {
//        vecIntegers.push_back(SampleValue);
//    }
//    int NumToFound =2;
//    auto iElementFound = find(vecIntegers.begin(),vecIntegers.end(),NumToFound);
//    if(iElementFound != vecIntegers.end())
//    {
//        cout<<*iElementFound<
//#include
//#include

//template 
//bool IsEven(const elementType& number)
//{
//    return ((number%2)==0);
//}

//int main()
//{
//    using namespace std;
//    vector vecIntegers;
//    for(int nNum=-9;nNum<10;nNum++)
//    {
//        vecIntegers.push_back(nNum);
//    }

//    size_t nNumZeros =count(vecIntegers.begin(),vecIntegers.end(),0);
//    cout<);
//    cout<
//#include
//#include
//#include
//using namespace std;

//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//}

//int main()
//{
//    vector vecIntegers;
//    for(int nNum =-9;nNum<10;nNum++)
//    {
//        vecIntegers.push_back(nNum);
//    }

//    vecIntegers.push_back(9);
//    vecIntegers.push_back(9);

//    list listIntegers;
//    for(int nNum=-4;nNum<5;nNum++)
//    {
//        listIntegers.push_back(nNum);
//    }

//    DisplayContents(vecIntegers);
//    cout<
//#include
//#include

//int main()
//{
//    using namespace std;
//    vector vecIntegers(3);
//    fill(vecIntegers.begin(),vecIntegers.end(),9);
//    //
//    vecIntegers.resize(6);
//    //第一个参数是开始位置,加入3个9
//    fill_n(vecIntegers.begin()+3,3,-9);

//    for(size_t nIndex =0;nIndex 
//#include
//#include
//#include

//int main()
//{
//    using namespace std;

//    vector vecIntegers(10);
//    generate(vecIntegers.begin(),vecIntegers.end(),rand);
//    for(size_t nCount=0;nCount<10;nCount++)
//    {
//        cout< listIntegers(10);
//    //在第一个参数的位置产生5个随机数
//    //cbegin是const begin的缩写
//    generate_n(listIntegers.begin(),5,rand);

//    list::const_iterator iElementLocator;
//    for( iElementLocator = listIntegers.begin();iElementLocator != listIntegers.end();++iElementLocator)
//    {
//        cout<<*iElementLocator<<" ";
//    }
//}

////22.6
//#include
//#include
//#include
//#include

//using namespace std;

//template 
//struct DisplayElementKeepCount
//{
//    int Count;
//    DisplayElementKeepCount():Count(0){}
//    void operator ()(const elementType& element)
//    {
//        ++Count;
//        cout< vecIntegers;
//    for(int nCount=0;nCount<10;nCount++)
//    {
//        vecIntegers.push_back(nCount);
//    }

//    DisplayElementKeepCount Functor =
//       for_each(vecIntegers.begin(),vecIntegers.end(),DisplayElementKeepCount());
//    cout<
//#include
//#include
//#include
//#include
//#include
//#include

//int main()
//{
//    using namespace std;
//    string Sample("This is a TEst string!");
//    cout< vecIntegers1,vecIntegers2;
//    for(int nNum =0;nNum <10;++nNum)
//    {
//        vecIntegers1.push_back(nNum);
//        vecIntegers2.push_back(10-nNum);
//    }
//    deque dqResultAddition(vecIntegers1.size());
//    //??
//    transform(vecIntegers1.begin(),vecIntegers1.end(),vecIntegers2.begin(),dqResultAddition.begin(),plus());

//    for(size_t nIndex = 0;nIndex  listIntegers;
//    for(int nCount=0;nCount<10;++nCount)
//    {
//        listIntegers.push_back(nCount);
//    }

//    DisplayContents(listIntegers);
//    cout< vecIntegers(listIntegers.size()*2);
//    //
//    auto iLastPos =copy(listIntegers.begin(),listIntegers.end(),vecIntegers.begin());
//    cout<
//#include
//#include
//using namespace std;
//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< vecIntegers(6);
//    //开始为开始位置,重点为起始位置,那不是1个吗????y应该是不包括
//    fill(vecIntegers.begin(),vecIntegers.begin()+1,8);
//    fill_n(vecIntegers.begin()+3,3,5);
//    DisplayContents(vecIntegers);
//    //随意洗牌
//    random_shuffle(vecIntegers.begin(),vecIntegers.end());
//    DisplayContents(vecIntegers);
//    //end的位置是不包括的啊xxxxxxx
//    //????输出什么回事啊
//    //将所有的元素中为5的改成8
//    replace(vecIntegers.begin(),vecIntegers.end(),5,9);
//    DisplayContents(vecIntegers);
//    replace_if(vecIntegers.begin(),vecIntegers.end(),[](int element){return((element%2)==0);},-1);
//    DisplayContents(vecIntegers);

//}


//////23.10
//#include
//#include
//#include
//#include
//#include

//using namespace std;
//template 
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< vecNames;
//    vecNames.push_back("John Doe");
//    vecNames.push_back("Jack NOO");
//    vecNames.push_back("Sean Penn");
//    vecNames.push_back("Anna Hoover");

//    vecNames.push_back("Jack NOO");

//    DisplayContents(vecNames);

//    sort(vecNames.begin(),vecNames.end());
//    DisplayContents(vecNames);
//    //binary_search() 只用于排序后的容器  把sort函数屏蔽就行,就能检验
//    bool bElementFound= binary_search(vecNames.begin(),vecNames.end(),"John Doe");
//    if(bElementFound)
//    {
//        cout<<"Found";
//    }
//    else
//    {
//        cout<<"Not Found";
//    }
//    cout<
//#include
//#include

//bool IsEven(const int& nNumber)
//{
//    return ((nNumber%2)==0);
//}

//using namespace std;
//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();iElement++)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< vecIntegers;
//    for(int nNum =0;nNum<10;nNum++)
//    {
//        vecIntegers.push_back(nNum);
//    }
//    DisplayContents(vecIntegers);
//    vector vecCopy(vecIntegers);
//    //偶数和奇数分成两块
//    partition(vecIntegers.begin(),vecIntegers.end(),IsEven);
//    DisplayContents(vecIntegers);
//    //相对位置不变
//    stable_partition(vecCopy.begin(),vecCopy.end(),IsEven);
//    DisplayContents(vecCopy);
//}

////23.12
//#include
//#include
//#include
//#include
//using namespace std;

//template 
//void DisplayContens(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< listName;
//    listName.push_back("John Doe");
//    listName.push_back("John Aaa");
//    listName.push_back("Brand Pitt");
//    listName.push_back("Sean Dddd");
//    listName.push_back("Anna Howww");
//    listName.push_back("VVVVV Howww");

//    listName.sort();
//    DisplayContens(listName);

//    //??
//    auto iMinInsertPos =lower_bound(listName.begin(),listName.end(),"Brad Pitt");
//    cout<
//#include
//#include
//#include

//using namespace std;
//template
//void DisplayContents(const T& Input)
//{
//    for(auto iElement =Input.begin();iElement != Input.end();++iElement)
//    {
//        cout<<*iElement<<" ";
//    }
//    cout< strNames1;
//    strNames1.push_back("Lisa");
//    strNames1.push_back("Mara");
//    strNames1.push_back("Jim");
      //向量必须初始化向量的大小吗
//    vector vecNames(strNames1.size());
//    copy(strNames1.begin(),strNames1.end(),vecNames.begin());
//    DisplayContents(vecNames);
//}

////24.1
//实例化STL stack
//#include
//#include
//int main()
//{
//    using namespace std;

//    stack stackInts;
//    stack stackDoubles;
//    stack> stackDoubleIntVector;

//    stack stackIntsCopy(stackInts);
//    return 0;
//}


////24.2
////使用整型stack
//#include
//#include

//int main()
//{
//    using namespace std;

//    stack stackInts;

//    stackInts.push(25);
//    stackInts.push(10);
//    stackInts.push(-1);
//    stackInts.push(5);

//    while(stackInts.size()!= 0)
//    {
//        cout<
//#include

//int main()
//{
//    using namespace std;

//    queue qIntegers;
//    queue qDoubles;
//    queue> qDoubleIntList;

//    queue qCopy(qIntegers);
//    return 0;
//}



////24.4
//#include
//#include

//int main()
//{
//    using namespace std;
//    queue qIntegers;

//    qIntegers.push(10);
//    qIntegers.push(1);
//    qIntegers.push(12);
//    qIntegers.push(11);

//    cout<
//int main()
//{
//    using namespace std;

//    priority_queue pqIntegers;
//    priority_queue pqDoubles;

//    priority_queue,greater> pqIntegers_Inverse;

//    priority_queue pqCopy(pqIntegers);
//    return 0;
//}

////24.6
//#include
//#include
//int main()
//{
//    using namespace std;
//    priority_queue pqIntegers;
//    pqIntegers.push(10);
//    pqIntegers.push(5);
//    pqIntegers.push(-1);
//    pqIntegers.push(20);

//    while(!pqIntegers.empty())
//    {
//        cout<
//#include

//int main()
//{
//    using namespace std;

//    priority_queue,greater> pqIntegers;
//    pqIntegers.push(10);
//    pqIntegers.push(5);
//    pqIntegers.push(-1);
//    pqIntegers.push(30);

//    cout<
//#include
//#include

//int main()
//{
//    using namespace std;

//    bitset<4> fourBits;
//    cout< fiveBits("10101");
//    cout< eightbits(255);
//    cout< eightBitsCopy(eightbits);

//}

////25.2
////操作位
//#include
//#include
//#include

//int main()
//{
//    using namespace std;

//    bitset<8> inputBits(255);
//    cout< inputFlipped(inputBits);
//    //flip  翻转
//    inputFlipped.flip();
//    cout<
//int main()
//{
//    using namespace std;

//    vector vecBool1;
//    vector vecBool2(10,true);
//    vector vecBool2Copy(vecBool2);
//    return 0;
//}



////25.4
//#include
//#include
//using namespace std;

//int main()
//{
//    vector vecBoolFlags(3);
//    vecBoolFlags[0] =true;
//    vecBoolFlags[1] =true;
//    vecBoolFlags[2] =false;
//    vecBoolFlags.push_back(true);
//    for(size_t nIndex =0;nIndex 
//#include

//int main()
//{
//    using namespace std;

//    bitset<4> inputBit1("1010");
//    cout< inputBit2("1011");
//    cout< addResult(inputBit1.to_ulong()+inputBit2.to_ulong());
//    cout<
//class smart_pointer
//{
//private:
//    T* m_pRawPointer;
//public:
//    smart_pointer(T* pData): m_pRawPointer(pData){}
//    ~smart_pointer() {delete pData;};

//    //copy constructor
//    smart_pointer(const smart_pointer& anotherSP);
//    //???
//    //copy assignment operator
//    smart_pointer& operator=(const smart_pointer& anotherSP);
//    //解除操作符和成员选择操作符让这个类能够用作常规意义上的指针
//    //dereference operator  解除操作符
//    T& operator*() const
//    {
//        return *(m_pRawPointer);
//    }
//    //
//    //member selection operator
//    T* operator ->() const
//    {
//        return m_pRawPointer;
//    }
//};

////26.2
//???
//template 
//class deepcopy_smart_pointer
//{
//private:
//    T* m_pObject;
//public:
//    // ...other functions

//    //copy constructor of the deepcopy pointer
//    deepcopy_smart_pointer(const deepcopy_smart_pointer& source)
//    {
//        m_pObject = source->Clone();
//    }

//    //copy assignment operator
//    deepcopy_smart_pointer& operator=(const deepcopy_smart_pointer& source)
//    {
//        if(m_pObject)
//            delete m_pObject;
//        m_pObject = source->Clone();
//    }
//};

////26.3
//一个破坏性复制智能指针
//template
//class destructivecopy_pointer
//{
//private:
//    T* pObject;
//public:
//    destructivecopy_pointer(T* pInput):pObject(pInput) {}
//    ~destructivecopy_pointer(){delete pObject};

//    //copy constructor
//    destructivecopy_pointer(destructivecopy_pointer& source)
//    {
//        pObject =source.pObject;

//        //destroy source
//        source.pObject =0;
//    }
//    //copy assignment operator 拷贝赋值运算符
//    //source ???
//    destructivecopy_pointer& operator= (destructivecopy_pointer& rhs)
//    {
//        if(pObject != source.pObject)
//        {
//            delete pObject;
//            pObject = source.pObject;
//            source.pObject =0;
//        }
//    }
//};

//int main()
//{
//    destructivecopy_pointer pNumber(new int);
//    destructivecopy_pointer pCopy(pNumber);
//}

////26.4
//#include
//#include
//using namespace std;

//class Fish
//{
//public:
//    Fish(){cout<<"Fish:Constructored!"<& inFish)
//{
//    inFish->Swim();
//}

//int main()
//{
//    unique_ptr smartFish(new Fish);

//    smartFish->Swim();
////    //不会复制,因为MakeFishSwim的参数为引用
//    MakeFishSwim(smartFish);
////    //并没有实例化对象
//    unique_ptr copySmartFish;

//    //
//    //copySmartFish =smartFish;

//    return 0;
//}

////26.7.2   -2
//#include
//#include
//using namespace std;

//class Fish
//{
//public:
//    Fish() {cout<<"Fish:Constructed!"<& inFish)
//{
//    inFish->Swim();
//}

//int main()
//{
//    //注意类的实例化
//    unique_ptr myCarp(new Carp);

//    MakeFishSwim(myCarp);

//    return 0;
//}

////27.1
////使用cout和iomanip控制符以10进制,16进制和8进制显示整数
//#include
//#include

//using namespace std;
//int main()
//{
//    cout<<"Input an integer";

//    int Input =253;
//    //8进制
//    cout<<"Integer in octal: "<
//#include

//using namespace std;

//int main()
//{
//    const double Pi = (double)22.0/7;
//    cout<
//#include

//using namespace std;

//int main()
//{
//    cout<
//using namespace std;

//int main()
//{
//    int Input =12;
//    double Pi = 12.0;

//    char Char1 ='c',Char2 ='+',Char3 = '*';

//    cout<
//#include
//#include
//using namespace std;

//int main()
//{
//    ofstream myFile;
//    myFile.open("HelloFile.txt",ios_base::out);

//    if(myFile.is_open())
//    {
//        //文件输出呢呢
//        cout<<"File open successfully"<
//#include
//#include
//using namespace std;

//int main()
//{
//    ifstream myFile;

//    myFile.open("HelloFile.txt",ios_base::in);

//    if(myFile.is_open())
//    {
//        cout<<"successful"<
//#include
//#include
//#include

//using namespace std;

//struct Human
//{
//    Human(){};
//    Human(const char* inName, int inAge,const char* inDOB):Age(inAge)
//    {
//        strcpy(Name,inName);
//        strcpy(DOB,inDOB);
//    }

//    char Name[30];
//    int Age;
//    char DOB[20];
//};

//int main()
//{
//    Human Input("Siddhartha Rao",101,"May 1910");
//    //ofstream 写文件
//    ofstream fsOut("MyBinary.bin",ios_base::out|ios_base::binary);

//    if(fsOut.is_open())
//    {
//        cout<<"Writing one object of Human to a binary file"<(&Input),sizeof(Input));
//        fsOut.close();
//    }
//    //ifstream 读文件
//    ifstream fsIn("MyBinary.bin",ios_base::in|ios_base::binary);

//    if(fsIn.is_open())
//    {
//        Human somePerson;

//        fsIn.read((char*)& somePerson,sizeof(somePerson));

//        cout<<"Reading information from binary file."<>strInput;

//    cout<<"Integer Input = "<

你可能感兴趣的:(21天C++课程代码(完整版))