class B;
class A
{ public:
void f( B b);
};
class B
{ public:
void g(A,a);
};
模板是C++支持参数化的工具
某些数据成员,某些成员函数的参数,返回值取任意类型
模板<模板参数列表> 对象名1,对象名2,……对象名N;
template <class T>
class Store
{ public:
store(void);
T getElem(void);
void putElem(T x);
private:
T item;
int haveValue;
};
template <class T>
T store<T>:: getElem(void)
{ if(haveValue==0)
cout<<"no item present!"<<endl;
exit(1);}
returen item;
}
template <class T>
void Store<T>::PutElem(T x)
{ HaveValue++;
item=X;
}