C++ 模版类的定义 与使用

 

1、定义

template <typename T>
class A {
public:
    // A(T t) {
    //     this->t = t;
    // }

    void setT(T t) {
        this->t =t;
    }

    T& getT() {
        return t;
    }
private:
    T t;
};

 使用: 

    A<int>  a;
    a.setT(16);
    cout<< a.getT()<<endl;

 

关注与实现分离的写法

 // A.h
#pragma
once template<typename T> class A { public: void setT(T t) ; T& getT(); private: T t; };
// A.cpp

#include "A.h" template class A<int>; // Explicit instantiation for int template class A<double>; // Explicit instantiation for int template<typename T> void A<T>::setT(T t) { this->t = t; } //template<typename T> //T & A<T>::getT() { //} template<typename T> T& A<T>::getT() { return this->t; }

 

posted @ 2025-05-27 09:33  liliyou  阅读(7)  评论(0)    收藏  举报