gpt4 book ai didi

c++ - 模板类多文件项目 - 如何?

转载 作者:行者123 更新时间:2023-11-27 23:20:35 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why can templates only be implemented in the header file?
Why should the implementation and the declaration of a template class be in the same header file?

我正在做一个项目,我需要我的“堆栈”来保存数据。但我不想为每种文件类型编写不同的版本(而且我不想使用 vector )。

所以我正在尝试使用一个模板类,这是我的代码:

StructStack.h

#ifndef STRUCTSTACK_H_
#define STRUCTSTACK_H_

template <class AnyType> class StructStack {
StructStack();
~StructStack();
struct Element {
Element *pointer;
AnyType value;
};
Element *pointerToLastElement;
int stackSize;
int pop();
void push(int value);
int size();
};

#endif

StructStack.cpp

#include "stdafx.h"
#include "StructStack.h"
#include <iostream>
using namespace std;


template <class AnyType> void StructStack<AnyType>::StructStack() {
//code
}

template <class AnyType> void StructStack<AnyType>::~StructStack() {
//code
}

template <class AnyType> AnyType StructStack<AnyType>::pop() {
//code
}

template <class AnyType> void StructStack<AnyType>::push(AnyType value){
//code
}

template <class AnyType> AnyType StructStack<AnyType>::size() {
//code
}

如果我尝试编译这两个文件,我会遇到一堆编译错误。我在网上看到,在多文件项目中创建模板类有点困难。

那么如何做到这一点呢?

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