#ifndef MYTEST_H_INCLUDED
#define MYTEST_H_INCLUDED
#include <iostream>
template <typename Type1> void counts();
template <typename Type1> void result(Type1 &);
template <typename Type>
class Hasfriends
{
private:
static int n;
Type items;
public:
Hasfriends(const Type & i):items(i) {n++;};
~Hasfriends() {n--;};
friend void counts<Type>();
friend void result< Hasfriends<Type> >(Hasfriends<Type> &);
};
template <typename Type>
int Hasfriends<Type>::n = 0;
template <typename Type1>
void counts()
{
std::cout << "实例化模板类的数目:" << Hasfriends<Type1>::n << std::endl;
}
template <typename Type1>
void result(Type1 & hf)
{
std::cout << "items = " << hf.items <<std::endl;
}
#endif
#ifndef MYTEST_H_INCLUDED
#define MYTEST_H_INCLUDED
#include <iostream>
template <typename Type1> void counts();
template <typename Type1> void result(Type1 &);
template <typename Type>
class Hasfriends
{
private:
static int n;
Type items;
public:
Hasfriends(const Type & i):items(i) {n++;};
~Hasfriends() {n--;};
friend void counts<Type>();
friend void result< Hasfriends<Type> >(Hasfriends<Type> &);
};
template <typename Type>
int Hasfriends<Type>::n = 0;
template <typename Type1>
void counts()
{
std::cout << "实例化模板类的数目:" << Hasfriends<Type1>::n << std::endl;
}
template <typename Type1>
void result(Type1 & hf)
{
std::cout << "items = " << hf.items <<std::endl;
}
#endif