Skip to content

Commit

Permalink
publish new homeworks
Browse files Browse the repository at this point in the history
  • Loading branch information
grayed committed Mar 24, 2022
1 parent 7e0cb25 commit f91545d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,23 @@ UML-диаграммы (файлы с расширением `.xmi`) можно
3. Написать функцию `bool test_vector3d()`, которая должна проверить корректность реализации всех перечисленных выше операций.
Для каждой проваленной проверки должна выводиться в `std::cerr` ровно одна поясняющая строка, отображающая, какая операция и с какими данными повела себя неверно.
Данную функцию вызвать из `main()`, сделать её результат определяющим для возвращаемого из `main()` значения (`0` для `true`, `1` для `false`).
## Игры с памятью №1
1. Реализовать функцию `A::getBString()`, возвращающую значение `B::b_s`
(подразумевается, что объект, для которого вызывается, является объектом типа `B`).
Используйте знание о расположении объектов в памяти.
2. Реализовать `A::printData()`, выводящую в поток текствое представление `A::a_s`, `B::b_s` и `B::data`
с помощью `A::getBString()` и аналогичных техник.
3. Реализовать `A::printData2()`, выводящую в поток текствое представление `A::a_s`, `B::b_s` и `B::data`
с помощью виртуальных функций.
## Электричество №1
1. Реализовать `const Pole* Switch::getPole(size_t idx) const`.
2. Реализовать `Pole* Object::getPole(size_t idx)`.
3. Реализовать `bool Object::isConnectedTo(const Object& other) const`.
4. Реализовать `bool Object::connect(const std::string& poleName, const Object& other, const std::string& otherPoleName)`.
5. Реализовать класс светильника Light с двумя полюсами.
6. Реализовать класс генератора с тремя полюсами (фаза, нейтраль, земпя).
7. В функции `main()` построить цепь из генератора, выключателя и светильника.
9 changes: 0 additions & 9 deletions memhacks/memhacks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,6 @@

using namespace std;

// 1. Реализовать в A функцию-геттер, возвращающую значение B::b_s.
// Используйте знание о расположении объектов в памяти.
//
// 2. Реализовать A::printData(), выводящую в поток текствое представление A::a_s, B::b_s и B::data
// с помощью A::getBString() и аналогичных техник.
//
// 3. Реализовать A::printData2(), выводящую в поток текствое представление A::a_s, B::b_s и B::data
// с помощью виртуальных функций.

B::B() : b_s("It's b!") {
for (auto i = 0; i < sizeof(data) / sizeof(data[0]); i++)
data[i] = i * 2;
Expand Down

0 comments on commit f91545d

Please sign in to comment.