Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104

Непонятны "()" в ооп

25.01.2014, 10:50. Показов 957. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, когда нужно в ( ) что-то вставлять, а когда нет? Желательно, на примере.разжуйте, пожалуйста! Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.01.2014, 10:50
Ответы с готовыми решениями:

Непонятны функции
Или ссылку на нее..

Непонятны логи
Всем привет! Есть удаленный сервер, на котором поднята БД, висит на порту 3306, разрешено удаленное подключение. Периодически...

Непонятны методы
class ChkNum { public bool IsPrime(int x) //задаём метод,параметром которого будет int x,а возвращать значение он будет типа...

17
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
25.01.2014, 10:56
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
  int f()  // метод без параметров, поэтому в скобках ничего нет
  {
        return 2*2;
  }
};
int main() // точка входа тоже функция без параметров
{
   A a;
   int k=a.f(); //Вызов метода класса A без параметров. 
}
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.01.2014, 11:06
zss, а как Вам такое:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int f()
{
   printf( "f()\n" );
}
 
int main(void)
{
   f(); // ok
   f(42); // ok
   f( 1, "text" ); // ok
   return 0;
}
http://ideone.com/NZrD1F

P.S. код C, не С++.
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 11:10
Да тут уж очень много всего можно порасказывать.
В общих чертах скобки парсер воспринимает либо как отделение логических частей программы (части условия, например) и для передачи аргументов в функцию.
Советую также к прочтению operator()
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
25.01.2014, 11:18
Цитата Сообщение от Tulosba Посмотреть сообщение
zss, а как Вам такое:
Мы все же в разделе С++,
а это 3 разные перегруженные функции.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 11:21
Tulosba, хех. а если
C
1
int f(void)
?)

Добавлено через 1 минуту
(причину то я знаю если что и в С++ такое не покатит)
0
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 11:28  [ТС]
Ребят, приведите пример, когда нужно заполнить скобки
В смысле, не пример, а объяснение - когда их заполнять?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 11:33
это очень обобщенное понятие.
Например вот что возможно вы хотите увидеть:
когда мы объявляем любой конструктор явно, то компилятор больше не генерирует никаких конструкторов, даже того, которые по-умолчанию.
Если мы явно указали конструктор, который обязывает явно указать элемент, то чтобы создать объект мы просто вынуждены что-то передать ему для инициализации.
А теперь код:
C++
1
2
3
4
5
6
7
8
9
10
struct A
{
    A(int) {}
};
 
int main()
{
    A a; // не пройдет
    A a2(1); // пройдет
}
Добавлено через 36 секунд
Но пока вы не возьмете книжку и не прочитаете хоть базовые понятия, мы будем разговаривать с вами на разных языках.
1
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 11:50  [ТС]
Это я понимаю у меня проблемы с употреблением в ооп
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
25.01.2014, 12:08
Скобки и ООП не два взаимовязанных понятия, как бы) Т.е. скобки в ООП ничем от скобок не в ООП не отличаются (навскидку=))
0
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 13:31  [ТС]
Приду к компьютеру - скину задачу(решение), продемонстрирую, что мне именно непонятно
По дейтейлу занимаюсь, на 3-ей главе. Мне непонятно, как он возвращает значение: в общем, позже

Добавлено через 1 час 6 минут
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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <string>
using std::string;
using std::getline;
#include <conio.h>
using namespace std;
 
class GradeBook
{
public:
    void setCourseName (string name)
    {
        courseName=name; //Сохранить имя курса в объекте
    }
    string getCourseName ()//Аккесор
    {
        return courseName;//Вернуть имя курса
    }
    void displayMessage()
    {
        cout<<"Welcome to the GradeBook for "<< getCourseName()<<"!"<<endl;//Поприветствовать!
    }
private:
    string courseName;// О_о Почему приват???
};
int main()
{
    string nameOfCourse;//Создает переменную типа string для хранения имени курса
    GradeBook myGradeBook;//Создает объкт класса GradeBook с именем myGradeBook
    cout<<"Initial corse name"<< myGradeBook.getCourseName()<<endl;//Возвращает, выводя на экран значение courseName;
    cout<<"Enter, please, name of course"<<endl;
    getline (cin, nameOfCourse);
    myGradeBook.setCourseName(nameOfCourse);//Сохраняет имя в объекте, используя переменную NameOfCourse
    cout<<endl;
    myGradeBook.displayMessage();
    _getch();
    return 0;
}
Добавлено через 3 минуты
Непонятна функция (set... ) 14 строка. И не понимаю, зачем нужны скобки и что вообще делает программа на 36 строке? Поясните, плиз, с.14 - 17, строка 36. Спасибо. Кстати, суть программы - ввести название курса точнее изменить его. Зачем нужна string name (14?).Объясните детально работу программы

Добавлено через 25 секунд
Простите за несвязанный текст: спешу
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.01.2014, 14:14
Цитата Сообщение от zss Посмотреть сообщение
Мы все же в разделе С++,
а это 3 разные перегруженные функции.
Может быть для Вас это будет новостью, но в Си нет механизма перегрузки функций.
1
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
25.01.2014, 14:17
Цитата Сообщение от Suslo Посмотреть сообщение
Поясните, плиз, с.14 - 17,...
Этот метод записывает новое значение в защищенную переменную courseName.
Т.е. Вызов
C++
1
myGradeBook.setCourseName(nameOfCourse);
заменяет старое значение courseName на то, что содержится в nameOfCourse.

Добавлено через 1 минуту
Цитата Сообщение от Tulosba Посмотреть сообщение
но в Си нет механизма перегрузки функций.
Еще раз обращаю внимание, что мы находимся в разделе С++.
1
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 14:41  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
Этот метод записывает новое значение в защищенную переменную courseName.
Т.е. Вызов
C++
1
myGradeBook.setCourseName(nameOfCourse);
заменяет старое значение courseName на то, что содержится в nameOfCourse.

Добавлено через 1 минуту

Еще раз обращаю внимание, что мы находимся в разделе С++.
А зачем создается string name???
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.01.2014, 14:47

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Еще раз обращаю внимание, что мы находимся в разделе С++.
Это не повод говорить глупости.


Suslo, в некоторых языках есть понятие свойств (property) класса, в C++ такого нет. Поэтому когда требуется организовать чтение/запись приватных данных извне реализуют пару функции: геттер/сеттер. Другие названия - аксессор/мутатор. Геттер при этом должен быть объявлен как const, т.к. в нормальном случае не должен изменять состояние объекта.

Цитата Сообщение от Suslo Посмотреть сообщение
А зачем создается string name???
Если речь про 14 строку, то это параметр функции. Тип string, имя name.
2
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 15:11  [ТС]
Так вот собственно и был вопрос-то такой: когда
C++
1
myGradeBook.setCourseName(nameOfCourse)
писать в скобках, а когда нет?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.01.2014, 15:17
Suslo, setCourseName - это функция, чтобы ее вызвать всегда нужно указывать скобки, в которых указать аргумент этой функции.
1
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
25.01.2014, 15:18  [ТС]
Вооот, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2014, 15:18
Помогаю со студенческими работами здесь

Непонятны алгоритмы программ
Объясните, не пойму логику как работают эти 3 программы, есть догадки, но все равно не пойму,кто знает объясните пожалуйста:-| ...

Непонятны основы электротехники
Пытаюсь разобраться с потенциалами и токами. Нашел учебник по ТОЭ Бессонова. там имеется вот такая схема: ...

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

Непонятны некоторые операторы
Читал, читай книгу по C++. Что понял что нет. Пожалуйста помогите с такими вопросами: - Для чего нужна операция &quot;?:&quot; ?, я этого...

Непонятны некоторые функции
Непонятны следующие функции, что они выполняют: (char)((int)('a')+j)) break; // что значит эта запись? char PROC(char s) // почему...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru