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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
#1

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

24.10.2011, 17:59. Просмотров 568. Ответов 13
Метки нет (Все метки)

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++
Есть такой код #include &lt;iostream&gt; class C1{ public: C1(){std::cout &lt;&lt;&quot; 1 is open&quot;&lt;&lt;std::endl;}; ~C1(){std::cout &lt;&lt;&quot; 1...

Вопрос по классам - C++
Вообщем есть два класса, TTriangular и TPoint. В TTriangular есть метод, который должен вводить координаты заданной точки. В TPoint...

Вопрос по классам - C++
создал конструктор, который создаёт элемент класса - массив, а вот инициализация данного массива с помощью нового конструктора не...

Вопрос по классам - C++
Опишу определение базавого класса и производного class Date { private: ... public: Date( ){}; ...

Вопрос по классам и функциям - C++
Здравствуйте, вообщем мне надо реализовать примерно такое дело: имеется класс the_class нужно чтобы у каждого экземпляра была...

У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. - C++
У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. Строка 9. Переменная int age объявляется в строке 9?...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 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
Каратель
Эксперт С++
6553 / 3973 / 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
Сообщений: 340
24.10.2011, 18:21 #5
iluxa1810, функция void - не возвращает значения, и твоя DisplayMessage тоже ничего не возвращает, это как аналог procedure в паскале, она просто что-то делает( у тебя выводит строку и все)
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
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
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
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
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.10.2011, 18:40 #10
Цитата Сообщение от Nameless One Посмотреть сообщение
что ты под этим подразумеваешь?
библиотечная они или нет


iluxa1810, да, сами называем так
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
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
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
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
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
24.10.2011, 20:51 #14
iluxa1810
C++
1
DisplayMessage существует
Как же она существует, если автор ее сам написал?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2011, 20:51
Привет! Вот еще темы с ответами:

Литература по классам - C++
Посоветуйте какую-то книгу где хорошо описано объявления, как работать с классами и все о классах!

Программа по классам - C++
Нужна помощь по классам, помогите с написание кода Описать класс, реализующий стек и работу с ним. 1.) Класс должен содержать следующие...

учебник по классам - C++
Люди, подскажите, пожалуйста, где можно найти хороший учебник по классам с примерами задач

лабораторная по классам - C++
Доброго вечера ув. гуру. Очень прошу вас помочь написать небольшую программу, связанной с великим ООП, а конкретнее работой с классами....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.10.2011, 20:51
Ответ Создать тему
Опции темы

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