В этом коде используется два класса. Первая - это классовая лампа, которая переключает свое состояние между включением, выключением и сломанной. Последний - это переключатель класса, который использует класс, lamp , как одно из его поля.
Цель кода - создать лампу и переключатель. Переключатель изменяет состояние лампы, но после ряда изменений состояния лампа нарушилась. Почему это происходит, и как я могу исправить его на будущее? < /P>
#include
using namespace std;
// Class lamp that switches its state between on, off and broken
class Lamp {
public:
int lampState{};
int breakPoint;
int counter{};
Lamp(const int& breakPoint) {
this->breakPoint = breakPoint;
}
string state() {
switch(lampState) {
case 1:
return "on";
break;
case 0:
return "off";
break;
default:
return "broken";
}
}
void click() {
if(counter == breakPoint) {
lampState = -1;
}else if(lampState == 0) {
lampState = 1;
counter++;
}else if(lampState == 1) {
lampState = 0;
conter++;
}
}
};
// Class switch that pushes the switch to actually switch the state of the lamp
class Switch {
public:
bool is_push{false};
Lamp* lamp;
Switch(Lamp* lamp) {
this->lamp = lamp;
}
void push() {
lamp->click();
if (is_push == false) {
is_push = true;
}else {
is_push = false;
}
}
~Switch() {
delete lamp;
}
};
int main() {
int numberClick{};
cout > numberClick; cin.ignore();
numberClick--;
Lamp* lamp = new Lamp{numberClick};
Switch* switch0 = new Switch{lamp};
Switch* switch1 = new Switch(lamp
bool ticket{true};
int numSwitch{};
while(ticket) {
cout > numSwitch; cin.ignore();
if(numSwitch== -1 ) {
break;
} else if (numSwitch == 0) {
Switch0->push();
cout state() push
cout state()
Подробнее здесь: https://stackoverflow.com/questions/726 ... ond-object
Сбой, пытаясь удалить второй объект ⇐ C++
Программы на C++. Форум разработчиков
1746439675
Anonymous
В этом коде используется два класса. Первая - это классовая лампа, которая переключает свое состояние между включением, выключением и сломанной. Последний - это переключатель класса, который использует класс, lamp , как одно из его поля.
Цель кода - создать лампу и переключатель. Переключатель изменяет состояние лампы, но после ряда изменений состояния лампа нарушилась. Почему это происходит, и как я могу исправить его на будущее? < /P>
#include
using namespace std;
// Class lamp that switches its state between on, off and broken
class Lamp {
public:
int lampState{};
int breakPoint;
int counter{};
Lamp(const int& breakPoint) {
this->breakPoint = breakPoint;
}
string state() {
switch(lampState) {
case 1:
return "on";
break;
case 0:
return "off";
break;
default:
return "broken";
}
}
void click() {
if(counter == breakPoint) {
lampState = -1;
}else if(lampState == 0) {
lampState = 1;
counter++;
}else if(lampState == 1) {
lampState = 0;
conter++;
}
}
};
// Class switch that pushes the switch to actually switch the state of the lamp
class Switch {
public:
bool is_push{false};
Lamp* lamp;
Switch(Lamp* lamp) {
this->lamp = lamp;
}
void push() {
lamp->click();
if (is_push == false) {
is_push = true;
}else {
is_push = false;
}
}
~Switch() {
delete lamp;
}
};
int main() {
int numberClick{};
cout > numberClick; cin.ignore();
numberClick--;
Lamp* lamp = new Lamp{numberClick};
Switch* switch0 = new Switch{lamp};
Switch* switch1 = new Switch(lamp
bool ticket{true};
int numSwitch{};
while(ticket) {
cout > numSwitch; cin.ignore();
if(numSwitch== -1 ) {
break;
} else if (numSwitch == 0) {
Switch0->push();
cout state() push
cout state()
Подробнее здесь: [url]https://stackoverflow.com/questions/72661728/crash-trying-to-delete-a-second-object[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия