注册 登录
编程论坛 C++教室

能帮我解释一下这段代码的含义吗

heyyroup 发布于 2007-11-27 21:02, 773 次点击
今天在图书馆看数据结构的时候看到一下的代码.有点迷糊
template <class Type>
class Stack:public stack<Type>
{
public:
    Type pop()
    {
        Type tmp=pop();
        stack<Type>::pop();
        return tmp;
    }
};
 红色字体的地方看得有点晕,谁能帮忙解答一下
Stack是从stack继承来的,那么应该也有pop()函数吧,为什么要这样定义呢?
4 回复
#2
heyyroup2007-11-27 21:43
搞定了,是书上印刷错误
应该是
template <class Type>
class Stack:public stack<Type>
{
public:
    Type pop()
    {
        Type tmp=pop();
        stack<Type>::pop();
        return tmp;
    }
};
害得我测试搞了半天
#3
heyyroup2007-11-27 21:48
晕,居然没改过来
应该是
template <class Type>
class Stack:public stack<Type>
{
public:
    Type pop()
    {
        Type tmp=top();
        stack<Type>::pop();
        return tmp;
    }
};
害得我测试搞了半天
#4
虫虫飞ya飞2007-11-28 12:45
在子类中依然可以对从父类中继承的函数进行重定义

[[italic] 本帖最后由 虫虫飞ya飞 于 2007-11-28 12:46 编辑 [/italic]]
#5
忘记喧嚣2007-11-28 22:23
```````````我没看见三段代码的区别
1