/
Leonid174
/
susu_cpp_kr5
Обзор
Документация
Войти
/
Leonid174
/
susu_cpp_kr5
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main.cpp
150 строк
5 KB
Leonid174
init commit
13 май 2026, 19:54
Верифицирован
13 май 2026, 19:54
4de3722
Код
Авторство
О чём код?
#include <iostream> #include "Set.h" #include "Vehicle.h" #include "TemplateSet.h" int main() { std::cout << "=== Set (int) ===" << std::endl; Set set1; set1.addElement(1); set1.addElement(2); set1.addElement(3); set1.addElement(4); set1.addElement(5); std::cout << "set1: "; set1.printSet(); Set set2 = set1 + 6; std::cout << "set2 (set1 + 6): "; set2.printSet(); Set set3; set3.addElement(4); set3.addElement(5); set3.addElement(6); set3.addElement(7); set3.addElement(8); std::cout << "set3: "; set3.printSet(); Set intersection = set1 * set3; std::cout << "set1 * set3: "; intersection.printSet(); Set unionSet = set1 + set3; std::cout << "set1 + set3: "; unionSet.printSet(); set1.removeElement(3); std::cout << "set1 after removeElement(3): "; set1.printSet(); std::cout << "isElementInSet(2) in set1: " << (set1.isElementInSet(2) ? "true" : "false") << std::endl; std::cout << "isElementInSet(3) in set1: " << (set1.isElementInSet(3) ? "true" : "false") << std::endl; std::cout << "set1 size: " << set1.getSize() << std::endl; std::cout << std::endl << "=== Vehicle ===" << std::endl; Vehicle* car = new Car(150, 200, 1500.0, 4); Vehicle* truck = new Truck(300, 120, 5000.0, 10.0); car->displayInfo(); std::cout << "Car yearly cost: " << car->calculateYearlyOwnershipCost() << std::endl; truck->displayInfo(); std::cout << "Truck yearly cost: " << truck->calculateYearlyOwnershipCost() << std::endl; std::cout << "Total power: " << Vehicle::getTotalPower() << std::endl; delete car; delete truck; std::cout << "Total power after delete: " << Vehicle::getTotalPower() << std::endl; std::cout << std::endl << "=== TemplateSet<int> ===" << std::endl; TemplateSet<int> tsInt1; tsInt1.addElement(10); tsInt1.addElement(20); tsInt1.addElement(30); std::cout << "tsInt1: "; tsInt1.printSet(); TemplateSet<int> tsInt2; tsInt2.addElement(20); tsInt2.addElement(30); tsInt2.addElement(40); std::cout << "tsInt2: "; tsInt2.printSet(); TemplateSet<int> intUnion = tsInt1 + tsInt2; std::cout << "tsInt1 + tsInt2: "; intUnion.printSet(); TemplateSet<int> intIntersection = tsInt1 * tsInt2; std::cout << "tsInt1 * tsInt2: "; intIntersection.printSet(); std::cout << std::endl << "=== TemplateSet<char> ===" << std::endl; TemplateSet<char> tsChar1; tsChar1.addElement('a'); tsChar1.addElement('b'); tsChar1.addElement('c'); std::cout << "tsChar1: "; tsChar1.printSet(); TemplateSet<char> tsChar2; tsChar2.addElement('b'); tsChar2.addElement('c'); tsChar2.addElement('d'); std::cout << "tsChar2: "; tsChar2.printSet(); TemplateSet<char> charUnion = tsChar1 + tsChar2; std::cout << "tsChar1 + tsChar2: "; charUnion.printSet(); TemplateSet<char> charIntersection = tsChar1 * tsChar2; std::cout << "tsChar1 * tsChar2: "; charIntersection.printSet(); std::cout << std::endl << "=== TemplateSet<Vehicle*> ===" << std::endl; Vehicle* v1 = new Car(100, 180, 1200.0, 2); Vehicle* v2 = new Truck(250, 100, 4000.0, 8.0); Vehicle* v3 = new Car(200, 220, 1400.0, 4); Vehicle* v4 = new Truck(350, 110, 6000.0, 12.0); Vehicle* v5 = new Car(150, 200, 1300.0, 4); TemplateSet<Vehicle*> tsVehicle1; tsVehicle1.addElement(v1); tsVehicle1.addElement(v2); tsVehicle1.addElement(v3); std::cout << "tsVehicle1: "; tsVehicle1.printSet(); TemplateSet<Vehicle*> tsVehicle2; tsVehicle2.addElement(v3); tsVehicle2.addElement(v4); tsVehicle2.addElement(v5); std::cout << "tsVehicle2: "; tsVehicle2.printSet(); TemplateSet<Vehicle*> vehicleUnion = tsVehicle1 + tsVehicle2; std::cout << "tsVehicle1 + tsVehicle2: "; vehicleUnion.printSet(); TemplateSet<Vehicle*> vehicleIntersection = tsVehicle1 * tsVehicle2; std::cout << "tsVehicle1 * tsVehicle2: "; vehicleIntersection.printSet(); std::cout << "isElementInSet(v3) in tsVehicle1: " << (tsVehicle1.isElementInSet(v3) ? "true" : "false") << std::endl; tsVehicle1.removeElement(v3); std::cout << "tsVehicle1 after removeElement(v3): "; tsVehicle1.printSet(); std::cout << "isElementInSet(v3) in tsVehicle1: " << (tsVehicle1.isElementInSet(v3) ? "true" : "false") << std::endl; delete v1; delete v2; delete v3; delete v4; delete v5; return 0; }