Форум программистов, компьютерный форум CyberForum.ru

Архитектура программы. Правильно ли сделал? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проекты и солюшин http://www.cyberforum.ru/cpp-beginners/thread932406.html
У меня такая проблема: как в солюшине связать два и больше проектов чтоб можно било использовать функцыонал одного проекта в другом. З. Ы. Если просто добавить проекты в солюшын то вызвать функцыи нельзя так как кидает ошыбку линковки
C++ Получение командой строки для процесса Компилирую из под x86 всё здорово... запускаю на x64 - не может прочитать строку командную для процесса... Для 64 бит компилировать мне не нужно... нужно как то сделать, чтобы работала, скомпилированная из под 32... Что-то с readprocessmemory Последний пост http://forum.sysinternals.com/readprocessmemory-from-32bit-to-32bit-on-x64-fails_topic24543.html Хелп ) #include <windows.h> #include... http://www.cyberforum.ru/cpp-beginners/thread932380.html
вложенный класс C++
Какие проблемы могут возникнуть в следующем объявлении вложенного класса? class Ribs { private: class Sauce { int soy; int sugar; public : Sauce (int s1, int s2) : soy ( s1 ), sugar ( s2 ) ( )
C++ Произвести действия со строкой матрицы
Добрый день. Обращаюсь за помощью, т. к не знаю как правильно сделать в следующем случае: int a= {9,7,3,6,8,0,5,4,1, 2,4,8,3,0,1,6,0,7, 0,0,1,4,9,7,0,0,0, 1,8,0,2,6,3,0,0,0, 4,9,2,0,0,0,3,6,5,
C++ Сортировка std::list http://www.cyberforum.ru/cpp-beginners/thread932352.html
Есть такой фрагмент програми. Создаю функцию для сортировки list. Вроде все правильно. В класе перегружены оператори < i =. Не знаю что делать. List просто не сортируеться а ввыводиться в изначальном виде. Может есть еще какие то методи отсортировать??? void sortL(L &v){ int k=v.size(); Student temp,a,b; L::iterator z = v.begin(); for (int i = 0; i < k; i++) for (int j = i + 1; j...
C++ работа с битами доброй ночи, форумчане, необходима ваша помощь) как и всем тут... вот изучаю с++ и добрался до работы с битами, учу решением задач. на форуме, правда не на этом, нашёл несколько задач: 1. Посчитать сколько нулей в числе с третьего по 13 бит, включая эти биты. 2. Инвертировать все биты с 2 по 14 включая эти биты. 3. Определить на сколько в числе А больше значущих битов, что равны единице, чем... подробнее

Показать сообщение отдельно
loou
1 / 1 / 0
Регистрация: 02.08.2013
Сообщений: 29
02.08.2013, 10:48     Архитектура программы. Правильно ли сделал?
Собствено с архитектурой вроде определился. Хотелось бы конструктивной критики.

Задача по сути следующая:
- Считывать данные геометрических объектов из файла.
- Вычислить некоторое число для двух геометрических объектов.

Базовый класc для геометрических объектов имеет одну функцию которая возвращает число, плюс конструкторы деструкторы и т.д.

C++
1
2
3
4
5
6
7
8
class сGeomObj {
public:
    ...
    double GetVal();
    
protected:
    ...
};
Это как бы "ядро" никаких проверок корректности данных при создании объекта не произвожу. Важна производительность. Максимально общий, чтобы можно было добавить любые возможные подклассы.

Все проверки в "интерфейсном" классе, он заточен под данную задачу:
(правильно ли называть его интерфейсом?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
class iGeomObjFromFile {
public:
    ...
    int      ReadFromFile(char* f_name);
    double CalcGoalValue(int i, int j);
    
protected:
    list < cGeomObj > gList;
    static cReaderFromFile        Reader;
    static cGoalValueCalculator  Calculator;
    ...
}
Reader - статический объект, используется функцией ReadFromFile, считывает данные из файла и проверяет их корректность, создает объекты сGeomObj.

Calculator - статический объект, используется функцией CalcGoalValue, вычисляет интересующее значение для двух объектов cGeomObj.


Еще вопрос. Если я свой клас сGeomObj сделаю в виде шаблона, я могу задать список допустимых типов для параметра типа?
Я не нашел, но это по моему странно. Если я не хочу чтобы в мой шаблон пихали не понять что, то что же делать?

Еще. Сейчас в cGeomObj используется #define константа, ее лучше сделать параметром шаблона?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru