База ответов ИНТУИТ

Программирование на С/С++

<<- Назад к вопросам

По какой причине может потребоваться переделка дизайна в многослойной архитектуре?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
привязка алгоритмов обработки к представлению объектов(Верный ответ)
верхний слой функций работает только с нижележащим слоем интерфейсов
чрезмерное использование наследования(Верный ответ)
обработка одного из запросов верхнего уровня привязана к Windows платформе(Верный ответ)
промежуточный слой использует функции всех нижележащих слоёв(Верный ответ)
Похожие вопросы
По каким причинам может потребоваться перегрузка операторов new и delete - глобальных или класса?
По какой причине необходимо отдельно рассматривать быстродействие оперативной памяти?
В ходе разработки дизайна должны быть обязательно выполнены следующие шаги:
Какие из приведённых ниже особенностей кода являются неудачными решениями в области кодирования, дизайна и архитектуры?
<pre>//====================== start of sample.cpp ========================== class Input { public: Input(); ~Input(); }; class USBInput: public Input { public: USBInput(); virtual ~USBInput(); }; class Device { public: Device(); ~Device(); }; class USBDevice: virtual public Device { public: USBDevice(); virtual ~USBDevice(); }; class ManualUserDev: public virtual USBInput { public: ManualUserDev(); virtual ~ManualUserDev(); }; class Key { public: Key(); ~Key(); }; class Keyboard: public Input, public Key { public: Keyboard(); ~Keyboard(); };//====================== end of sample.cpp ========================== </pre> Для которых из классов в файле sample.cpp в конструкторе может потребоваться явно вызвать конструкторы базовых классов?
Какие операции обычно может выполнять деструктор?
Каким образом может решаться проблема неоптимальных ветвлений кода?
Какими выражениями из нижеперечисленных может быть инициализирована статическая переменная типа int?
Каким образом может быть объявлена функция, принимающая строку двухмерного или многомерного массива в качестве параметра?
<pre> //====================== start of sample.cpp ========================== #include &lt;type_traits &gt; class A { public: A(int in = 5); }; int main() { std::is_pointer&lt;A&gt; is_ptr; return 0; } //====================== end of sample.cpp ========================== </pre> Как может использоваться объявление переменной is_ptr?