Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 00:47   #1
Drakonkn
 
Регистрация: 21.10.2012
Сообщений: 8
Радость Проблемы с классом

Написал класс телевизор.
Код:
class TVSet
{
public:
      TVSet(int channel,string name);
     ~TVSet(void);
     int GetChannel(void);
     int SetChannelinN(int N);
     void PowerON();
     void PowerOFF();
     string GetName();
     int NextChannel();
     int PrewChannel();
};
Преподаватель выложил данный код в общий доступ (для нашей группы) с комментарием: Кто заметит несуразность в объявлении, получит +1 к баллам на девятой неделе.

Объясните что он имел ввиду. Хотелось бы самому исправиться, а не ждать пока кто-то ответит
Drakonkn вне форума Ответить с цитированием
Старый 23.10.2012, 01:01   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Drakonkn

Объясните что он имел ввиду.

Это обращение к женской половине группы.
Те девушки, которые в положении, получат некие баллы на 9 неделе беременности (хотя, с другой стороны, это уже вовсе и не девушки, а каГбэ настоящие женщины. Вот и первая несуразность(((: )

Но основная проблема - телевизор скорее всего китайский, позволяет наладить производство дешевых, а фактически - бесплатных копий, что ведет к повышению уровня безработицы, подрыву и экономики и дестабилизации внутреннего рынка товаров народного потребления. Возможно, это секретная программа КНР по ослаблению стран - вероятных противников

кроме того, (видимо по-ошибке) телевизор продается с заводской установкой на порно-канал, который восстанавливается при каждом включении.
Rififi вне форума Ответить с цитированием
Старый 23.10.2012, 01:05   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

PrevChannel написано с ошибкой, несуразность налицо
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 23.10.2012, 01:32   #4
Drakonkn
 
Регистрация: 21.10.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Drakonkn

Объясните что он имел ввиду.

Это обращение к женской половине группы.
Те девушки, которые в положении, получат некие баллы на 9 неделе беременности (хотя, с другой стороны, это уже вовсе и не девушки, а каГбэ настоящие женщины. Вот и первая несуразность(((: )

Но основная проблема - телевизор скорее всего китайский, позволяет наладить производство дешевых, а фактически - бесплатных копий, что ведет к повышению уровня безработицы, подрыву и экономики и дестабилизации внутреннего рынка товаров народного потребления. Возможно, это секретная программа КНР по ослаблению стран - вероятных противников

кроме того, (видимо по-ошибке) телевизор продается с заводской установкой на порно-канал, который восстанавливается при каждом включении.
Не очень понял где тут шутка, а где намёк на проблему
По поводу порно канала, вовсе нет: при выключении сохраняется последний включенный канал (как раз это было одним из критериев данной программы)

А 9-я неделя, это как бы промежуточная сессия, замученная администрацией вуза))
Drakonkn вне форума Ответить с цитированием
Старый 23.10.2012, 01:37   #5
Drakonkn
 
Регистрация: 21.10.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
PrevChannel написано с ошибкой, несуразность налицо
Вы конечно правы, но сомневаюсь, что он имел ввиду именно это. Потому что смотрел лабы сокурсников, там вообще нечто феноменальное с именами переменных. Кривая транслитерация + неверно переведенные слова = имя переменной. Однако никому из них он замечаний не делал.
Drakonkn вне форума Ответить с цитированием
Старый 23.10.2012, 04:32   #6
ArmanPrestige
Главное желание.
Форумчанин
 
Регистрация: 28.11.2011
Сообщений: 122
По умолчанию

Напиши потом, что имел в виду препод твой. Интересно
Я могу, Я хочу, Я буду!
ArmanPrestige вне форума Ответить с цитированием
Старый 23.10.2012, 09:33   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО несуразность в том что класс не имеет тела, и методы не абстрактные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2012, 09:43   #8
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

А что за int channel в конструкторе? По идее, здесь должно быть что-то типа maxChannel, которая задаёт максимальное количество каналов (чтобы int NextChannel(); имел какую-то верхнюю границу). А при создании номер канала инициализируется нулём.

Возможно ещё
int NextChannel();
int PrewChannel();

можно сделать void. В реальном телевизоре такие методы переключают каналы (есть же кнопочка на пульте).

Но эти все замечания скорее ещё один вариант реализации, можно же и так (смотря какая задача).
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 23.10.2012, 10:08   #9
Drakonkn
 
Регистрация: 21.10.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ИМХО несуразность в том что класс не имеет тела, и методы не абстрактные.
реализация в отдельном файле

Цитата:
Сообщение от sVasilich Посмотреть сообщение
А что за int channel в конструкторе? По идее, здесь должно быть что-то типа maxChannel, которая задаёт максимальное количество каналов (чтобы int NextChannel(); имел какую-то верхнюю границу). А при создании номер канала инициализируется нулём.

Возможно ещё
int NextChannel();
int PrewChannel();

можно сделать void. В реальном телевизоре такие методы переключают каналы (есть же кнопочка на пульте).

Но эти все замечания скорее ещё один вариант реализации, можно же и так (смотря какая задача).
int channel - номер канала при инициализации, типа на пульте нажимаешь на циферку и ТВ включается и у тебя сразу активируется тот канал, на который ты нажал) На счёт максимального канала - верно подметил, отсюда же вытекает проблема отрицательного канала. Конечно я недосмотрел, но это тривиальный баг. Думаю он не стал бы акцентировать на этом внимание всей группы.

Последний раз редактировалось Stilet; 26.10.2012 в 07:42.
Drakonkn вне форума Ответить с цитированием
Старый 23.10.2012, 10:42   #10
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Дык у тебя операция включения отдельная есть. По идее, конструктор создаёт новый телевизор, а PoverOn - кнопка на пульте.

И в текущей реализации получаем: ты первый раз включаешь телевизор заданным каналом, потом используя функцию PoverOn(при последующих включениях) загружаешь канал, который последним смотрели.. А куда делась кнопочка на пульте, с каналом, на который я нажимал в первый раз?) Которая:
Цитата:
типа на пульте нажимаешь на циферку и ТВ включается и у тебя сразу активируется тот канал, на который ты нажал)
Т.е. выходит, я его включаю каждый раз новым пультом))
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с классом monolit111 Общие вопросы C/C++ 2 15.12.2011 12:36
Проблема с классом Celestia Общие вопросы Delphi 3 03.12.2010 15:40
Работа с классом UnChanter Помощь студентам 2 14.03.2010 20:23
Работа с классом| C++ Konicy Общие вопросы C/C++ 15 21.12.2009 19:08
C++ работа с классом VadEr Помощь студентам 2 17.05.2009 12:33