gpt4 book ai didi

c++ - 简单的模板实现

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:23:59 26 4
gpt4 key购买 nike

假设我在 collector.h 的某处写了类模板声明:

template <class T, int maxElements>
class collector {

T elements[maxElements];
int activeCount;

public:

collector();
void process();
void draw();

};

并在 collector.cpp 中实现其三个方法:

template <class T, int maxElements> 
collector<T, maxElements>::collector(){
//code here
}

template <class T, int maxElements>
void collector<T, maxElements>::process(){
//code here
}

template <class T, int maxElements>
void collector<T, maxElements>::draw(){
//code here
}

有没有办法不写template <class T, int maxElements><T, maxElements>对于每个功能的实现?类似的东西:

template <class T, int maxElements>{

collector<T, maxElements>::collector(){
//code here
}

void collector<T, maxElements>::process(){
//code here
}

void collector<T, maxElements>::draw(){
//code here
}

}

最佳答案

将代码放在头文件中的类定义中。

[一旦您尝试构建使用此类模板的代码,您很可能最终会这样做。参见 here对于背景特别是。来自@Pavel Minaev 的被忽视的答案。]

关于c++ - 简单的模板实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com