Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- // Базовий клас "Електронний_пристрій"
- class ElectronicDevice {
- protected:
- string deviceType; // Тип пристрою, наприклад, "Смартфон", "Телевізор"
- int batteryCapacity; // Ємність батареї
- public:
- // Конструктор за замовчуванням
- ElectronicDevice() : deviceType("Невідомий"), batteryCapacity(0) {}
- // Конструктор з параметрами
- ElectronicDevice(string type, int capacity) : deviceType(type), batteryCapacity(capacity) {}
- // Методи для перегляду і зміни значень
- string getDeviceType() const { return deviceType; }
- void setDeviceType(string type) { deviceType = type; }
- int getBatteryCapacity() const { return batteryCapacity; }
- void setBatteryCapacity(int capacity) { batteryCapacity = capacity; }
- // Метод для виводу інформації про пристрій
- virtual void show() const {
- cout << "Тип пристрою: " << deviceType << ", Ємність батареї: " << batteryCapacity << " мАг" << endl;
- }
- };
- // Базовий клас "Виробник"
- class Manufacturer {
- protected:
- string manufacturerName; // Назва виробника
- int releaseYear; // Рік випуску
- public:
- // Конструктор за замовчуванням
- Manufacturer() : manufacturerName("Невідомий"), releaseYear(0) {}
- // Конструктор з параметрами
- Manufacturer(string name, int year) : manufacturerName(name), releaseYear(year) {}
- // Методи для перегляду і зміни значень
- string getManufacturerName() const { return manufacturerName; }
- void setManufacturerName(string name) { manufacturerName = name; }
- int getReleaseYear() const { return releaseYear; }
- void setReleaseYear(int year) { releaseYear = year; }
- // Метод для виводу інформації про виробника
- virtual void show() const {
- cout << "Виробник: " << manufacturerName << ", Рік випуску: " << releaseYear << endl;
- }
- };
- // Клас "Електроніка_від_виробника", який успадковує властивості обох базових класів
- class ElectronicsByManufacturer : public ElectronicDevice, public Manufacturer {
- public:
- // Конструктор з параметрами для ініціалізації обох базових класів
- ElectronicsByManufacturer(string type, int capacity, string name, int year)
- : ElectronicDevice(type, capacity), Manufacturer(name, year) {}
- // Перевизначення методу show() для виведення всієї інформації про пристрій
- void show() const override {
- cout << "Електронний пристрій від виробника:" << endl;
- ElectronicDevice::show();
- Manufacturer::show();
- }
- };
- // Основна функція
- int main() {
- // Створення об'єкта класу ElectronicsByManufacturer
- ElectronicsByManufacturer device("Смартфон", 4000, "Samsung", 2023);
- // Виведення інформації про об'єкт
- device.show();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement