Форум программистов, компьютерный форум CyberForum.ru

Вопрос по Классам... - C++

Восстановить пароль Регистрация
 
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
24.10.2011, 17:59     Вопрос по Классам... #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using std::cout;
using std::endl;
 
 
class GradeBook
{
public:
 
   void displayMessage()
   {
      cout << "Welcome to the Grade Book!" << endl;
   }
};   
 
 
int main()
{
   GradeBook myGradeBook;
   myGradeBook.displayMessage();
   return 0;
}
Зачем мы пишем функция void displayMessage(),если она ничего не возвращает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2011, 17:59     Вопрос по Классам...
Посмотрите здесь:

C++ Вопрос по классам
C++ Вопрос по классам
книга по классам C++
C++ Вопрос по классам
C++ Вопрос по классам и функциям
C++ Задача по классам.с++
C++ Вопрос по классам
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.10.2011, 18:02     Вопрос по Классам... #2
КО подсказывает - чтобы вывести строку на экран
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
24.10.2011, 18:14  [ТС]     Вопрос по Классам... #3
ну это я знаю,я просто принцип понять не могу...

Добавлено через 3 минуты
Я просто не давно начал читать Дейтлов "Как программировать на С++"
С int main() начинается любая программа ,и эта функция показывает успешность выполнения программы?
Под возвращением значения подразумевается некое число,показывающее успешность выполнения операции/программы?

Добавлено через 2 минуты
C++
1
2
3
4
 void displayMessage()
   {
      cout << "Welcome to the Grade Book!" << endl;
   }
Получается,что эта строка cout << "Welcome to the Grade Book!" << endl; перебрасывает запись в функцию displayMessage() ?
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.10.2011, 18:20     Вопрос по Классам... #4
Цитата Сообщение от iluxa1810 Посмотреть сообщение
С int main() начинается любая программа
да
Цитата Сообщение от iluxa1810 Посмотреть сообщение
и эта функция показывает успешность выполнения программы?
да
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Под возвращением значения подразумевается некое число,показывающее успешность выполнения операции/программы?
Да, но это не всегда требуется и потому функцию делают просто void - невозвращающую никакого значения

Цитата Сообщение от iluxa1810 Посмотреть сообщение
Получается,что эта строка cout << "Welcome to the Grade Book!" << endl; перебрасывает запись в функцию displayMessage() ?
почему перебрасывает? это и есть функция, точнее метод класса, который ничего не возвращает
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
24.10.2011, 18:21     Вопрос по Классам... #5
iluxa1810, функция void - не возвращает значения, и твоя DisplayMessage тоже ничего не возвращает, это как аналог procedure в паскале, она просто что-то делает( у тебя выводит строку и все)
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
24.10.2011, 18:30     Вопрос по Классам... #6
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Зачем мы пишем функция void displayMessage(),если она ничего не возвращает?
это метод предназначается не для получения результатов вычислений, а для побочных эффектов от этих вычислений (т.е. для вывода информации на экран). Т.к. нас не интересует полученное значение, то мы объявляем метод как void (т.е. не возвращающий никакого значения)
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
24.10.2011, 18:30  [ТС]     Вопрос по Классам... #7
instagib, спасибо,все ясно .
А вообще функция DisplayMessage существует или мы так просто ее назвали?
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
24.10.2011, 18:33     Вопрос по Классам... #8
Цитата Сообщение от iluxa1810 Посмотреть сообщение
А вообще функция DisplayMessage существует или мы так просто ее назвали?
что ты под этим подразумеваешь?
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
24.10.2011, 18:40  [ТС]     Вопрос по Классам... #9
Nameless One,ну я имею ввиду,что автор программы дал такое название своей функции или использовал существующую функцию?
Цитата Сообщение от Nameless One Посмотреть сообщение
это метод предназначается не для получения результатов вычислений, а для побочных эффектов от этих вычислений (т.е. для вывода информации на экран). Т.к. нас не интересует полученное значение, то мы объявляем метод как void (т.е. не возвращающий никакого значения)
Т.е если бы нам пришлось высчитать в этой функции сколько будет 2+2 ,то написали бы int вместо void?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.10.2011, 18:40     Вопрос по Классам... #10
Цитата Сообщение от Nameless One Посмотреть сообщение
что ты под этим подразумеваешь?
библиотечная они или нет


iluxa1810, да, сами называем так
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
24.10.2011, 18:48     Вопрос по Классам... #11
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Nameless One,ну я имею ввиду,что автор программы дал такое название своей функции
да
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Т.е если бы нам пришлось высчитать в этой функции сколько будет 2+2 ,то написали бы int вместо void?
да, если бы нам потребовался результат вычисления. Хотя никто не мешает нам сделать так:
C++
1
2
3
4
5
void side_effects_calculation(int i, int j)
{
    std::cout << "There's no return from this fun since we don't need the result" << std::endl;
    std::cout << i + j << std::endl;
}
А могли бы сделать так:
C++
1
2
3
4
int return_sum(int i, int j)
{
    return i + j;
}
и использовать результат вычисления этой функции дальше, например, вывести его на экран или использовать в дальнейших вычислениях
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
24.10.2011, 20:24  [ТС]     Вопрос по Классам... #12
а если допустим надо присвоить результат вычислений функции переменно,то это будет выглядеть так ?
C++
1
a=slojenie.returnsum(int i,int j);
Добавлено через 1 час 27 минут
up!!!
rangerx
1918 / 1527 / 139
Регистрация: 31.05.2009
Сообщений: 2,888
24.10.2011, 20:50     Вопрос по Классам... #13
Цитата Сообщение от iluxa1810 Посмотреть сообщение
а если допустим надо присвоить результат вычислений функции переменно,то это будет выглядеть так ?
Нет...

Добавлено через 26 секунд
C++
1
2
3
4
int return_sum(int i, int j)
{
    return i + j;
}
C++
1
int a = return_sum(2, 2); // 2+2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2011, 20:51     Вопрос по Классам...
Еще ссылки по теме:

C++ У меня вопрос по классам. На приложенных картинках я выделил непонятные строки.
C++ Литература по классам
C++ от структур к классам
Программа по классам C++
C++ Программа по классам

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

Или воспользуйтесь поиском по форуму:
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
24.10.2011, 20:51     Вопрос по Классам... #14
iluxa1810
C++
1
DisplayMessage существует
Как же она существует, если автор ее сам написал?
Yandex
Объявления
24.10.2011, 20:51     Вопрос по Классам...
Ответ Создать тему
Опции темы

Текущее время: 06:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru