Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/50: Рейтинг темы: голосов - 50, средняя оценка - 4.58
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
1

Сказали некрасиво пишу

12.10.2013, 11:08. Показов 10276. Ответов 160
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
изучаю с++ почти 2 месяц , пишу програму она работает но препод говорит что иногда не красиво пишу ((( пишу так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class Time
{
private:
    int hour;
    int minute;
    int second;
    int tmp_sec;
    int tmp_min;
public:
    Time():hour(0),minute(0),second(0) 
    {}
    Time(int h , int m , int s):hour(h),minute(m),second(s)
    {}
    void Out_put()const
    {
        cout<<setw(3)<<" Time = "<<setw(3)<<hour<<" : "
            <<setw(3)<<minute<<" : "<<second<<endl;
    }
 
    Time sum_Time(Time);
};
 
Time Time::sum_Time(Time other_time)
   {
       Time tmp;
       tmp_sec = 60;
       tmp_min = 60;
 
       tmp.hour = hour + other_time.hour ;
 
       tmp.second = second + other_time.second ;
       tmp.minute = minute + other_time.minute ;
        
           if ( tmp.second >= 60 )
               {
                   tmp_sec *= tmp.second / 60 ;
                   tmp.minute += tmp_sec / 60 ;
                   tmp.second -= tmp_sec ;
               }
 
               if ( tmp.minute >= 60 )
                   {
                       tmp_min *= tmp.minute / 60 ;
                       tmp.hour += tmp_min / 60 ;
                       tmp.minute -= tmp_min ;
                   }
      return tmp;
   }
   
int main()
{
    Time first_Time(22,155,177);
    Time second_Time(12,39,89);
 
    first_Time.Out_put();
    second_Time.Out_put();
 
    cout<<endl<<endl<<" You Three = ";
    Time three_Time = first_Time.sum_Time(second_Time);
    three_Time.Out_put();
 
    cout<<endl<<endl;
 
    return 0;
}
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2013, 11:08
Ответы с готовыми решениями:

RichTextBox курсор некрасиво мерцает
RichTextBox курсор некрасиво мерцает над выделенным текстом, как это исправить пробовал поставить...

При загрузке картинка некрасиво мигает
такая проблема при загружении картинки, картинка не красиво мигает ... что делать( сказали поможет...

Некрасиво отображаются шрифты при большом размере
Перепробовал кучу шрифтов, но у всех проблема при размере font-size: 6.5em;. Буквы неровные или...

LaTeX - Как настроить стиль вывода формул? Формулы выводятся некрасиво
Здравствуйте. Меня мучает одна проблема - когда я компилирую .tex файлы при помощи LaTeX, то...

160
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 18:05  [ТС] 41
Author24 — интернет-сервис помощи студентам
Phantom про .h-файл ищо не учил , знаю про него немножко, за книгу спасиб , почитаю на днях( до работы мне ищо далеко)а метод вынес чтоб попробовать , в теме книги говорили что можно так делать.
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
12.10.2013, 18:06 42
Цитата Сообщение от castaway Посмотреть сообщение
А что их различать? У них разница только в public: и private: по-умолчанию. Если хочешь больше писанины то следуй своему варианту, я не против.
Ну знаешь, так можно вообще классы прекратить писать - открытое наследование используется чаще, а у структур оно тоже по дефолту)
В целом с точки зрения кол-ва писанины и языка большой разницы нет. Но когда я встречаю в большом коде структуру, она как бы мне говорит: чувааак, обрати внимание на мои данные. А когда класс - чуваак, посмотри повнимательнее на функции-члены.
1
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
12.10.2013, 18:08 43
ct0r, да пиши как хочешь, мне все равно. Я лишь констатирую факт.

Не по теме:

Там конечно есть маленький нюанс при наследовании, но тут это не рассматривается..

0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 18:09 44
Цитата Сообщение от Phantom Посмотреть сообщение
Выносишь методы - выноси все, реализуешь их при объявлении - реализуй все.
Не очень понятно. А как быть с inline методами? Инлайнишь один - инлайнить и все остальное в классе?
0
Эксперт С++
3189 / 870 / 39
Регистрация: 29.12.2008
Сообщений: 952
12.10.2013, 18:15 45
Tulosba, ну это да, исключение.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2013, 20:14 46
Цитата Сообщение от Убежденный Посмотреть сообщение
В C++ имена, начинающиеся с подчеркивания, зарезервированы.
C++03, 17.4.3.1.2 Global names
Только лично я не понимаю что это означает и чем черевато такое использование. Чем собственный класс не внутренняя реализация?
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 20:28 47
Цитата Сообщение от Avazart Посмотреть сообщение
Только лично я не понимаю что это означает и чем черевато такое использование. Чем собственный класс не внутренняя реализация?
...
Миниатюры
Сказали некрасиво пишу  
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 20:40 48
alsav22, так локально (член в классе) можно получается называть. Вроде бы об этом и говорит Avazart.
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
12.10.2013, 20:46 49
Цитата Сообщение от Avazart Посмотреть сообщение
Чем собственный класс не внутренняя реализация?
Под реализацией Стандарт подразумевает реализацию компилятора и его библиотек.
Если использовать в своем коде ведущее подчеркивание, можно напороться на
ситуацию, когда при выходе очередной версии компилятора возникнет конфликт имен.
Или, что еще хуже, вместо какого-то символа будет использован символ, определенный
компилятором или библиотекой. Код будет по-прежнему компилироваться, но работать с
ошибками.
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
12.10.2013, 20:48 50
Цитата Сообщение от Tulosba Посмотреть сообщение
alsav22, так локально (член в классе) можно получается называть.
а если макрос?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 20:53 51
Цитата Сообщение от Убежденный Посмотреть сообщение
Код будет по-прежнему компилироваться, но работать с
ошибками.
Удавалось с таким сталкиваться? Надо порыть список имен для разных реализаций. Стало интересно посмотреть, что они могут заменить таким образом в коде.

Добавлено через 53 секунды
Цитата Сообщение от Croessmah Посмотреть сообщение
а если макрос?
так макросы БОЛЬШИМИ буквами должны быть, имхо.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
12.10.2013, 20:53 52
Цитата Сообщение от Tulosba Посмотреть сообщение
так макросы БОЛЬШИМИ буквами должны быть, имхо.
Да ну ладно?.. Ты еще скажи с согласной начинаться)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 21:04 53
Цитата Сообщение от castaway Посмотреть сообщение
Да ну ладно?.. Ты еще скажи с согласной начинаться)
Давай лучше на примерах. Я вот пока не вижу чего-то с одним подчеркиванием и последующей маленькой буквой в качестве макроса предопределенного реализацией. А ты?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
12.10.2013, 21:06 54
Цитата Сообщение от Tulosba Посмотреть сообщение
так макросы БОЛЬШИМИ буквами должны быть, имхо.
то бишь из-за подчеркивания мы сразу получаем ограничания:
нельзя писать БОЛЬШИМИ букаффками
нельзя в глобальной области видимости использовать, во избежании конфликта
морока со всякими ::

стоит ли этого подчеркивание?
Всегда можно пидумать префикс для локальных данных (у некоторых, например, распространенно m_)
1
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
12.10.2013, 21:09 55
Цитата Сообщение от Tulosba Посмотреть сообщение
Я вот пока не вижу чего-то с одним подчеркиванием и последующей маленькой буквой в качестве макроса предопределенного реализацией.
Не об этом речь. В своем утверждении ты ничего не говорил про "предопределенное реализацией", ты просто утвердил что макросы должны быть написаны в верхнем регистре.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 21:09 56
Один нашел:
Identification _hpux Defined by HP UPC
отсюда
Правда там и
Identification sgi
есть. Что явно нарушает все правила.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
12.10.2013, 21:10 57
Цитата Сообщение от Croessmah Посмотреть сообщение
у некоторых, например, распространенно m_
По-моему это самый нормальный подход. И конфликта не будет, и понятно что member.

Добавлено через 31 секунду
Цитата Сообщение от Tulosba Посмотреть сообщение
Что явно нарушает все правила.
А кем эти правила определены?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2013, 21:10 58
Цитата Сообщение от Убежденный Посмотреть сообщение
Под реализацией Стандарт подразумевает реализацию компилятора и его библиотек.
Если использовать в своем коде ведущее подчеркивание, можно напороться на
ситуацию, когда при выходе очередной версии компилятора возникнет конфликт имен.
Или, что еще хуже, вместо какого-то символа будет использован символ, определенный
компилятором или библиотекой. Код будет по-прежнему компилироваться, но работать с
ошибками.
Цитата Сообщение от Croessmah Посмотреть сообщение
а если макрос?
Ну вот разве что макрос, какой конфликт имен внутри моего класса?
Да и макросы вроде должны действовать локально по логике вещей, не затрагивая "мой" класс.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
12.10.2013, 21:11 59
Цитата Сообщение от Avazart Посмотреть сообщение
Ну вот разве что макрос, какой конфликт имен внутри моего класса?
ну как бы препроцессору наплевать на область видимости
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 21:15 60
Цитата Сообщение от castaway Посмотреть сообщение
В своем утверждении ты ничего не говорил про "предопределенное реализацией", ты просто утвердил что макросы должны быть написаны в верхнем регистре.
Я может и не говорил, но речь-то шла именно об этом. Что вдруг пользовательский идентификатор напорется на совпадающий с ним зарезервированный реализацией.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Да и макросы вроде должны действовать локально по логике вещей, не затрагивая "мой" класс.
Макросы они ж тупые не разбирают где "мой", где "твой". Подстановка же банальная.

Добавлено через 1 минуту
Цитата Сообщение от castaway Посмотреть сообщение
По-моему это самый нормальный подход. И конфликта не будет, и понятно что member.
Вообще, нормальные IDE с подсветкой синтаксиса и так что надо подсветят. Что никакие m_ нафиг не нужны. Хотя, если кто-то практикует блокнот или vi ....
0
12.10.2013, 21:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2013, 21:15
Помогаю со студенческими работами здесь

.NET сказали нет?
Сходил на it-выставку bitbyte. Спрашивал, нужны ли кому-нибудь .NET стажеры. Ни одному работодателю...

Сказали сделать такое
Ребят, если что - простите, может не туда тему написал, скажите куда писать. Вообщем мне нужна...

Each() устарела, а чем заменить не сказали
сабж

На работе мне сказали сделать таблицу
Необходимо выполнить анализ предметных результатов (см. рис. А), в столбце &quot;общий балл&quot; вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru