Реферат: Моделирование структуры книги

}

Класс окна CMainFrame содержит защищенный атрибут класса CSplitterWnd, предоставляющий доступ к представлению страницы посредством вызова открытой член-функции класса CMainFrame:

class CMainFrame : public CFrameWnd

{

protected:

CSplitterWnd m_wndSplitter;

public:

CBookView* GetRightPane();

};

Объект класса книги является открытым атрибутом класса документа:

class CBookDoc : public CDocument

{

public:

CBookClass m_Book;

};

Все структурные элементы книги (разделы, главы и страницы) создаются в момент загрузки файла книги с диска через оператор new:

CRazdel* Razdel=new CRazdel;

m_Razdels.Add(Razdel);

Вызов операций

Вызов операций для объектов в C++ может быть организован двумя способами:

1) Если требуется вызвать операцию для переменной, являющейся объектом какого-либо класса, то используется оператор .*:

Object.MemberFunc();

2) Если переменная является указателем на объект класса, то доступ к методам, поддерживаемым данным классом, организовывается через оператор ->*:

pObject->MemberFunc();

Т.к. объект класса книги является открытым атрибутом класса документа, то доступ к членам класса книги осуществляется через указатель на объект класса документа. Т.о., чтобы вызвать функцию-член класса CBookClass, необходимо получить вначале указатель на объект класса CBookDoc:

CBookDoc* pDoc = GetDocument();

pDoc->m_Book.SetTreeCtrl(&refCtrl);

Если члены-функции вызываются внутри их класса, то вызов этих функций осуществляется напрямую без указания имени класса. Например, внутри функции CRazdels::DeleteRazdels() осуществляется вызов членов-функций, наследуемых от базового класса CObArray:

void CRazdels::DeleteRazdels()

К-во Просмотров: 647
Бесплатно скачать Реферат: Моделирование структуры книги