codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include<list> #include<iostream> using namespace std; class cBase{ public: virtual ~cBase(){}//робимо клас поліорфним }; class cChild : public cBase{ public: //тут що завгодно virtual void metod1(){}; }; template<class T> class cListItem { public: T data;//під дата розумію якогось далекого cChild з купою методів та полів cListItem<T> * prev; cListItem<T> * next; cListItem(){ //прошу, робіть це відразу! prev = 0; next = 0; } }; template<class T> class cTList : public list<T>{ public: //push, pop, set переопреділяємо як хочемо }; template <class T> class cItemList : public cTList < cListItem<T> > { public: }; template<class T1, class T2> class cTreeItem : public cListItem<T2>{ public: T1 tkey;//сюди ложіть ключа //T2 data;//сюди ложіть cItemList T2 = cItemList <якийсь інстанс> }; template<class T1, class T2> class cItemTree : public list<cTreeItem<T1, T2> > { public: }; int main(){ return 0; }
Private
[
?
]
Run code
Submit