Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ книга по патернам сказали прочитать книгу по патернам "Gang of Four" можно ли её заменить на эту http://rutracker.org/forum/viewtopic.php?t=3694471 или не стоит? просто вторую в продаже проще найти да и порог вхождения вроде ниже, мне как новичку ) https://www.cyberforum.ru/ cpp-beginners/ thread949370.html C++ Функция в обьекте-можно ли создать?Нужно ли?Что я вобще делаю?И как правильно?
Простите еще и за русские буквы... Cat::объект; объект void Метод (int целая=100;) //обычный метод {целая=целая+initialAge; cout << целая;cout << " целая\n";}
C++ Questions about C++ https://www.cyberforum.ru/ cpp-beginners/ thread949349.html
1.Существует ли в C++ форматировка кода,как в PascalABC.NET к примеру? 2.Справа от зеленой стрелочки (Локальный откладчик Windows) есть возможность выбора Debug и Release.В чем отличие?И что Это? 3.Я создаю проект,потом создаю элементы в нем,добавляю,исключаю из проекта,так как несколько cpp файлов не могут содержать main.Эти элементы как связаны с проектом?Могу ли я вызвать функцию из одного...
C++ Проецирование файла данных https://www.cyberforum.ru/ cpp-beginners/ thread949347.html
ПОМОГИТЕ ПОЖАЛУЙСТА Проецировать файл данных. В спроецированом файле поменять местами первую и вторую половину файла.
Непонятно, как работает push_back C++
Задали на неделю сделать программы, где нужно использовать std::vector. Сами алгоритмы для них я продумала (для второй программы он точно должен работать), но у меня возникли проблемы с командой push_back. 1) Не совсем первая программа, но код, который к ней сводится (и в нём та же проблема): vector<char> h; char q; q=')'; h.push_back(q); if(h.empty()) printV(h); else...
C++ Вывод данных между определенных символов в строке https://www.cyberforum.ru/ cpp-beginners/ thread949321.html
Имеется строка с данными: "*имя*файл*размер*...*..." Как считать и вывести сначала "имя" потом "файл", "размер" и так далее... Данные получаю из файла через fgets. Я думаю что надо искать позицию * ,записывать ее, потом считывать текст до *, затем ставим начало считывания опять после * и так далее... помогите реализовать или предложите более действенный метод.
C++ Точка входа в dll в Linux Если в Windows точка входа в DLL является функция BOOL WINAPI DllMain(...), то какая функция является началом в системе Linux? И какие библиотеки для неё подключать нужно? https://www.cyberforum.ru/ cpp-beginners/ thread949314.html C++ Тип bool возвращает 1,а не true
Задание: Даны числа A, B, C (число A не равно 0). Рассмотрев дискриминант D = B2 − 4·A·C, вернуть значение true, если квадратное уравнение A·x2 + B·x + C = 0 имеет вещественные корни, и false в противном случае. Фото ниже:
C++ Лучшая база данных для программ на С++ Привет всем, прошу помощи у экспертов (ибо у них опыта больше). В базе данных точно буду хранить звуковые файлы и текст, скорее всего буду хранить и видео. База будет расти быстро и на много, посоветуйте какая БД под Windows для этого лучше всего подходит!? Ну и конечно с которой можно будет общаться через с++ !? https://www.cyberforum.ru/ cpp-beginners/ thread949292.html C++ Глобальная перезагрузка операторов https://www.cyberforum.ru/ cpp-beginners/ thread949289.html
Есть код: template< class Value > class MyClass { Value value_; }; template< class V >
Правильно перевести в С++ язык C++
Помогите перевести на язык С++
C++ В заданном предложении найти пару слов, из которых одно является обращением другого https://www.cyberforum.ru/ cpp-beginners/ thread949263.html
В заданном предложении найти пару слов, из которых одно является обращением другого /* В заданном предложении найти пару слов, из которых одно является обращением другого */ #include <stdio.h> #include <string.h>
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
16.10.2013, 16:24 0

ООП. Тестовое задание собеседования. - C++ - Ответ 5190507

16.10.2013, 16:24. Показов 10138. Ответов 17
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

можно ещё привести такой пример.
нам практически всегда в больших приложениях нужно работать с СУБД. Например нужно одновременно поддерживать работу с MySQL и SQLite
на древнем стиле программирования это выглядело так
C++
1
2
3
4
5
6
7
8
9
switch (db)
{
    case MYSQL:
       connectMySQL();
       break;
    case SQLITE:
       connectSQLite();
       break;
}
теперь создаём код с стиле ООП и полиморфный класс DataBases
C++
1
2
3
4
class DataBases
{
    virtual bool connect();
}
C++
1
2
3
4
5
6
7
class MySQL: public DataBases
{
    virtual bool connect()
    {
       // реализация
    }
}
C++
1
2
3
4
5
6
7
class SQLite: public DataBases
{
    virtual bool connect()
    {
       // реализация
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
int connectToAnyDB(DataBases *pDB)
{
   pDB->connect();
}
int main()
{
  // использование
   MySQL mySqlDB;
   connectToAnyDB(&mySqlDB);
   SQLite sqLiteDB;
   connectToAnyDB(&sqLiteDB);
}
а теперь вдруг требования поменялись и нужно добавить поддержку СУБД Oracle
во втором случае нам не нужно портить работающий код, достаточно добавить реализацию класса
C++
1
2
3
4
5
6
7
class Oracle: public DataBases
{
    virtual bool connect()
    {
       // реализация
    }
}
нужно добавить, что на этой особенности могут быть реализованы более мощные механизмы, например оповещение о событиях множества объектов классов-реализаций полиморфного класса.

Эти объекты можно подписывать(отписывать) на оповещение при этом логика механизма остаётся простой.

если продолжить тему летательных аппаратов:
При взлёте каждый летальный аппарат подписывается(при посадке отписывается) на сообщение о приближении шторма.
Не взлетевшие аппараты тоже существуют в оперативной памяти, но им не зачем знать о шторме.

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

В данном смысле полиморфный класс "летательный аппарат" означает "принимающий формы разных летательных аппаратов"

Полиморфизм приводит к тому, что программные модули(например классы) становятся независимыми и их легче модифицировать в больших проектах. вероятность повторного использования кода увеличивается.

Проблема только в том, что когда большой проект начинается вы не можете знать "истинную архитектуру" приложения. И классы начинают кочевать по проекту, меняя свои имена и сущности

Вернуться к обсуждению:
ООП. Тестовое задание собеседования. C++
4
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2013, 16:24
Готовые ответы и решения:

Задание с собеседования (циклы)
День добрый! Был сегодня на собеседовании, и было такое задание где было такое задание: Описать...

Тестовое задание
Помогите пройти тест. Очень надо :) Введите пропущенный оператор в функцию вставки нового...

Тестовое задание
private class Connect (){ public Device dev1 = new Device(); public Device dev2 = new Device();...

Тестовое задание на Junior C++ dev
Доброго времени суток. Неделю назад ради интереса отправил свое резюме в одну компанию, куда...

17
16.10.2013, 16:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2013, 16:24
Помогаю со студенческими работами здесь

Тестовое задание для трудоустройства
Решил попробовать устроиться в компанию и узнать что вообще и как. Отправил в компанию резюме,...

Тестовое задание надолжность Junior C++ gamedev
Всем доброго времени суток. Месяц назад получил от потенциального работодателя тестовое задание...

Небольшое тестовое задание в финской компании.
Привествую всех жителей форума. Сразу отмечу, что решения просить не хочу, а просто хочу показать...

Написать ответы на тестовое задание при приёме на работу (исключения, sizeof, mutex)
Добрый день! Ходил недавно на собеседование. Имеется список вопросов, на некоторые ответил...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru