Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Link.h"
- #include <QDebug>
- template <class ValueType>
- class Object
- {
- public:
- Object() {}
- ValueType value() const {
- return _value;
- }
- void setValue(const ValueType &value) {
- _value = value;
- }
- void print() const {
- qDebug() << "object:" << value().toString();
- }
- void link(const Object<ValueType> *other) {
- Link *ln = new Link();
- ln->setFromObject(this);
- ln->setToObject(other);
- _links.append(ln);
- }
- private:
- ValueType _value;
- QList<Link*> _links;
- };
- #ifndef LINK_H
- #define LINK_H
- #include "Object.h" //ΡΠΏΡ
- template <class ValueType>
- class Link
- {
- public:
- Link() {}
- Object<ValueType> *fromObject() const {
- return _fromObject;
- }
- void setFromObject(Object<ValueType> *fromObject) {
- _fromObject = fromObject;
- }
- Object<ValueType> *toObject() const {
- return _toObject;
- }
- void setToObject(Object<ValueType> *toObject) {
- _toObject = toObject;
- }
- private:
- Object<ValueType> *_fromObject;
- Object<ValueType> *_toObject;
- };
- template <class T>
- class Object<T>;
- template <class ValueType, class LinkType>
- class Object
- {
- LinkType<ValueType>
- ...
- template <class ValueType>
- class Link
- {
- ...
- Object<ValueType, Link<ValueType> *_someObject;
- template<class T>
- class Object;
Add Comment
Please, Sign In to add comment