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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 18:38   #1
Dimasanius
Новичок
Джуниор
 
Регистрация: 13.04.2011
Сообщений: 2
По умолчанию Классы, перегрузка операторов.

Ребята, помогите с таким заданием:
Консольное приложение, сделать следующее:
1. Класс "нота": название, октава, длительность звучания.
2. Потомки: звук(частота) и изображение(координаты на экране левого верхнего угла фрагмента нотного стана). В обоих классах - порядковый номер ноты, определить функцию output - для каждого класса с разной реализацией.
3. В классах потомках перегрузить операции постфиксный++ - для получения следующей ноты, префиксный ++ - для увеличения длительности звучания ноты вдвое.
Если такая тема есть на форуме, дайте ссылку, пожалуйста (я тему с таким заданием не нашел). Заранее благодарен.
Dimasanius вне форума Ответить с цитированием
Старый 16.04.2011, 09:52   #2
БалаШагаЛ
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 131
По умолчанию

Я так понял, что своих наработок нет. Здесь они вроде бы нужны. Сам новичок, поэтому попробовал решить задачу. Но, как я уже сказал, я новичок и, естественно, мне выдаёт кучу ошибок. Вся сложность в классе в классе. Дарю свои нароботки:
Код:
#include <iostream>
#include <stdio.h>//На эти три библиотеки можно не обращать внимания, я всегда
#include <math.h>//их пишу на всякий случай,
#include <stdlib.h>//вдруг пригодятся.

class Nota//Класс ноты
{
    public:
      char name;//Имя ноты
      int okt;//Номер октавы
      int time;//Время звучания
      class Zvuk//Класс звука
      {
          public:
            int chast;//Частота
            int number;//Номер ноты
            const Zvuk& operator++();//Префиксный оператор
            const Zvuk& operator++(int);//Постфиксный оператор
      };
      Zvuk Zvuk_noti;//Создаём обьект класса звука
      class Izobrazhenie//Класс изображения
      {
          public:
            int x_koord;//Координаты по оси x
            int y_koord;//Координаты по оси y
            int &number=Zvuk_noti.number;//Здесь основная ошибка. Вроде бы создаём номер ноты, который всегда будет идлентичен номеру в классе звука, но выдаёт, что-то про обьект Zvuk_noti
            const Izobrazhenie& operator++();//Префиксный оператор
            const Izobrazhenie& operator++(int);//Постфиксный оператор
      };
      Izobrazhenie Izobrazhenie_noti;
};

Zvuk& Nota::Zvuk::operator++()//Префиксный оператор звука
{
    time*=2;//Увеличить время в два раза
    return *this;
}

Izobrazhenie& Nota::Izobrazhenie::operator++()//То же самое и для изображения
{
    time*=2;
    return *this;
}

Zvuk& Nota::Zvuk::operator++(int)//Постфиксный оператор звука
{
    Nota.Zvuk.number+=1;//Повысить номер на 1
    return *this;
}

Izobrazhenie& Nota::Izobrazhenie::operator++(int)//То же самое для изображения
{
    Nota.Izobrazhenie.number+=1;
    return *this;
}
БалаШагаЛ вне форума Ответить с цитированием
Старый 13.05.2011, 19:12   #3
Dimasanius
Новичок
Джуниор
 
Регистрация: 13.04.2011
Сообщений: 2
По умолчанию

спасибо, БалаШагаЛ, на основе этих наработок написал код приложения, которое от меня требовалось.
кому нужно-могу поделиться.
Dimasanius вне форума Ответить с цитированием
Старый 04.05.2014, 23:58   #4
nevidemuy
Новичок
Джуниор
 
Регистрация: 04.05.2014
Сообщений: 2
По умолчанию

привет, можешь кинуть, пожалуйста?
nevidemuy вне форума Ответить с цитированием
Старый 05.05.2014, 00:04   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

nevidemuy, надеюсь, Вас не смущает, что последняя активность Dimasanius 04.06.2011 01:53.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.05.2014, 02:13   #6
nevidemuy
Новичок
Джуниор
 
Регистрация: 04.05.2014
Сообщений: 2
По умолчанию

BDA, ну может ему на почту сообщение придет. А ты, кстати , не можешь помочь?
nevidemuy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операторов в С++ Purr Помощь студентам 0 09.10.2010 15:12
Классы ны С++, перегрузка функций,операторов Shturmovik Помощь студентам 1 04.06.2009 22:58
Задача на классы, перегрузка операторов [C++] Roomper Помощь студентам 13 30.05.2009 08:36
Перегрузка операторов (С++) Перчитель Помощь студентам 1 03.12.2008 18:46
Перегрузка операторов, Организация перегрузки операторов chagin_yav Помощь студентам 2 12.05.2008 09:15