Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 1 / lab_1 / Ribble
.h// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_RIBBLE_471BB47802AF_INCLUDED
#define _INC_RIBBLE_471BB47802AF_INCLUDED
//////////////////////////////////////////////////////////////////////////
#include "Graph.h"
//////////////////////////////////////////////////////////////////////////
//ребро графа
template<class T>
class Ribble
{
public:
virtual ~Ribble()
{
// вершины по указателям не удаляем, т.к. возможны ещё
// указатели на эти вершины, которые (указатели) нам
// не доступны
cout<<"[ribble] ribble destroyed\n";
}
bool operator==(const Ribble<T>& rhs) const
{
return rhs.equals(this);
}
//сравннение по указателю
bool equals(const Ribble<T>* ribble)
{
return (*_vertex1 == *(ribble->_vertex1)) &&
(*_vertex2 == *(ribble->_vertex2));
}
//принадлежит ли вершина ребру
bool contains(const T* vertex) const
{
return (_vertex1 == vertex) || (_vertex2 == vertex);
}
const T* get__vertex2() const
{
return _vertex2;
};
const T* get__vertex1() const
{
return _vertex1;
};
Ribble(T* vertex1, T* vertex2): _vertex1(vertex1), _vertex2(vertex2)
{
cout<<"[ribble] ribble created\n";
};
private:
const T* _vertex1;
const T* _vertex2;
};
//////////////////////////////////////////////////////////////////////////
#endif /* _INC_RIBBLE_471BB47802AF_INCLUDED */
Соседние файлы в папке lab_1