main.cpp
//#include "cemployee.h"
#include "complex.h"
#include "string.h"
#include "template.h"
#include "relation.h"
#include "stl.h"
//#include "li.h"
int main()
{
//complex_test();
string_test();
//template_test();
//relation_test();
//myspace::vector_test();
//myspace::list_test();
//myspace::map_test();
cout << "*****************************************" << endl;
myspace::vectorExt();
while (1);
return 0;
}
complex.h
#pragma once
#include <iostream>
using namespace std;
namespace myspace
{
class complex//复数
{
public:
complex(double r = 0, double i = 0):re(r),im(i){
}
complex& operator += (const complex&);
double real() const {
return re; }
double imag() const {
return im; }
private:
double re, im;
friend complex& _doapl(complex*, const complex&);
};
//定义
inline complex& _doapl(complex* ths, const complex& r)
{
ths->re += r.re;
ths->im += r.im;
return *ths;
}
inline complex& complex::operator+=(const complex& r)
{
return _doapl(this, r);
}
inline double real(const complex& x)
{
return x.real();
}
inline double imag(const complex& x)
{
return x.imag();
}
inline complex operator+ (const complex& x, double y)
{
return complex(real(x) + y, imag(x));
}
}
ostream& operator << (ostream& os, const myspace::complex& x)
{
return os << '(' << real(x) << ',' << imag(x) << ')';
}
void complex_test(