红莲教主 发表于 2016-5-13 13:57:31

类模板

#include <iostream>
#include <string>

//本次类模板的定义和申明都分开写的,实际上建议把申明和实现写在一起

template<typename T1 , typename T2>
class Animal
{
public:

    Animal(T1 name);
    ~Animal();
    void sayHello(T2 info);
private:

    T1 name ;
};

template<typename T1 , typename T2>//每个函数实现上面都要加上这个
Animal<T1,T2>::Animal(T1 name)      //函数实现部分要记得前缀Animal<T1,T2>::
{
    this->name = name ;
}

template<typename T1 , typename T2>
Animal<T1,T2>::~Animal()
{

}

template<typename T1 , typename T2>
void Animal<T1,T2>::sayHello(T2 info)
{
    std::cout<<"我的名字是:"<<name<<",我有"<<info<<"个嘴巴"<<std::endl;
}

int main()
{
    Animal<std::string , int> animal(std::string("红莲教主"));
    animal.sayHello(100);

    return 0;
}
页: [1]
查看完整版本: 类模板