На главную страницу

В начало

Молекулярные графы - объявление класса VMolecularGraph

Класс VMolecularGraph, реализующий модель мультиграфа, является классом, производным от VMultiGraph, который, в свою очередь, является классом, производным от VGraph.


// Примечание: здесь используется пользовательский тип данных string, реализующий
// понятие "текстовая строка" и аналогичная типу string в Delphi или типу AnsiString
// в C++ Builder. Реализацию класса string для использования в других средах C++,
// созданную мной с использованием только языка C++ и стандартной библиотеки
// языка Си, Вы можете скачать здесь.

class VMolecularGraph: public virtual VMultiGraph
{
public:
 // Возвращает символ химического элемента, соответствующего атому A.
 virtual string gElement(int A);
 // Устанавливает символ химического элемента El для атома A.
 virtual void sElement(int A, string El);
 // Определяет, одинаковы ли две вершины в раскрашенном графе. 
 virtual bool AreSameTops(int Top1, int Top2);
};

Последняя функция, AreSameTops, требует пояснений. Она определяет, одинаковы ли две заданные вершины в раскрашенном графе, каковым является и молекулярный граф, внутренне, т.е. имеют ли они один и тот же "цвет". Например, в молекулярном графе вершины внутренне одинаковы, если их атомы относятся к одному и тому же химическому элементу, например, оба являются атомами углерода. В классах, производных от класса VMolecularGraph, атомы, относящиеся, скажем, к различным изотопам одного и того же химического элемента, возможно, будут считаться различными, и виртуальная функция AreSameTops в этом случае будет переопределена.

Предыдущий   Следующий

В начало

На главную страницу

Хостинг от uCoz