[ create a new paste ] login | about

Link: http://codepad.org/5VB6dBY6    [ raw code | fork ]

C++, pasted on Jun 10:
#include <iostream>
using namespace std;

class Node {
private:
    Node *next;
public:
    virtual const Node * GetNext() const { return next; }
};
class DualNode : public Node {
private:
    DualNode *prev;
public:
    virtual const DualNode * GetNext() const{ return dynamic_cast< DualNode *>(const_cast< Node *>(Node::GetNext())); }
    virtual const DualNode * GetPrev() const{ return prev; }
};
class ExtendedNode : public DualNode {
public:
    virtual const ExtendedNode * GetNext() const{ return dynamic_cast< ExtendedNode *>(const_cast< DualNode *>(DualNode::GetNext())); }
    virtual const ExtendedNode * GetPrev() const{ return dynamic_cast< ExtendedNode *>(const_cast< DualNode *>(DualNode::GetPrev())); }
};

int main(){
    ExtendedNode extNode;
    return 0;
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: