gpt4 book ai didi

c++ - 模板/多态性

转载 作者:行者123 更新时间:2023-11-30 03:43:45 28 4
gpt4 key购买 nike

我正在尝试使用多态性。基本上,代码中间缺少一个类名。由于我不习惯模板,有人可以给我一个线索吗?谢谢

#ifndef TEMPLATE_H``
#define TEMPLATE_H


using namespace std;
template <class T>
class Template
{
public:
Template(int);
virtual ~Template();
virtual void push(T val);
T pop;
virtual bool isFull();
virtual bool isEmpty();
virtual void sizeOf(T val) ;
protected:
private:
int top,size;
};

#endif // TEMPLATE_H

#ifndef STACK_H
#define STACK_H

/***LIFO***/

using namespace std;

template <class S>
class stack: public Template{ // HERE, it says it's missing an expected class
-name before {
public:
stack();
virtual ~stack();
protected:
private:

};

#endif // STACK_H

最佳答案

stack应该继承自 Template<S> , 不是 Template .

Template不是一个类。它是一个类模板Template<int>将是一个类(class),或 Template<std::string> .您不能从类模板继承,只能从类(或结构)继承。

关于c++ - 模板/多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930789/

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