Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283

Не могу понять, как пользоваться методами

24.11.2008, 19:25. Показов 1573. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу разобраться с классами, помогите кто может!
Я понимаю зачем нужен класс, и разницу открытых и закрытых данных, но не могу понять как пользоваться методами. подскажите где можно найти статьи в которых все разложено по полочкам или так объясните. Пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2008, 19:25
Ответы с готовыми решениями:

Как пользоваться методами массива?
Поясните на примере vs 2013 int _tmain() { setlocale(LC_ALL, ""); string w; cout << "размер текущего массива " <<...

Стек на основе массива структур - эт как понять читаю литературу и не могу понять!
Стек статически (на основе массива структур). Пример структура "Товар" которая включает в себя: № по каталогу(ключ), Название, цена, срок...

Может ли наследник пользоваться не всеми методами родителя, а только частью?
Всем привет, есть вопрос, может ли наследник пользоваться не всеми методами родителя, а только теми которые нужны мне. Например есть класс...

11
1 / 1 / 0
Регистрация: 23.10.2008
Сообщений: 13
24.11.2008, 19:48
Попробуй найти книжку Ю.Тихомиров Visual C++6. Там есть глава про классы и вообще книжка хорошая. Вообще про классы сложно объяснить в двух словах, так чтобы стало понятно, их почувствовать нужно
0
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
24.11.2008, 20:11  [ТС]
на данный момент мне надо объяснить вот эти две строчки
int GetAge();
void SetAge(int Age);
это фрагмент листинга книги С++ за 21 день (3 издание); стр 42... на всякий случай
0
1 / 1 / 0
Регистрация: 23.10.2008
Сообщений: 13
24.11.2008, 20:37
Что там за книжка я не знаю, но судя по контексту int GetAge() - это метод, который возвращает какой-то возраст, т.е. у класса видимо есть поле типа int, причем оно private, т.е. значение этого поля просто так, как переменную не получишь. Поэтому нужен специальный метод, который будет значение это переменной (поля) выковыривать. void SetAge (int Age) напротив в это приватное поле записывает значение Age. Мораль такова, к приватным полям класса просто так не достучишься, надо писать специальные методы этого класса, которые будут читать и записывать значение данного поля.
0
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
24.11.2008, 21:03  [ТС]
Значит чтобы что то записать в переменную обязательно должна быть строчка void SetAge()?
0
1 / 1 / 0
Регистрация: 23.10.2008
Сообщений: 13
24.11.2008, 21:57
Там будет не просто эта строчка. Давай допустим, что у тебя есть класс CMyClass, у него есть приватное поле Age.
Ну типа того:
C++
1
2
3
4
5
6
7
8
9
class CMyClass()
{
private:
int Age;
// ...
public:
void SetAge(int Age);
// ...
};
есть объект это класса: CMyClass MyObject
так вот метод void SetAge(int Age) нужен для того, чтобы засунуть в поле Age какое-то число. Пример: MyObject.SetAge(10); В поле Age записалось чило 10.
0
17 / 16 / 6
Регистрация: 20.11.2008
Сообщений: 81
25.11.2008, 12:42
P.S. метод (функция) не обязательно должна называться set...() - это просто так принято, что при занесении переменной в класс (структуру) он называется setVar, а при получении ее из класса - getVar... Но ты можешь и другие названия придумать!!!
0
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
25.11.2008, 13:27  [ТС]
Как засунуть понял. А чтобы взять из класса надо создать метод
int GetAge() так? А что надо написать в функции?
0
17 / 16 / 6
Регистрация: 20.11.2008
Сообщений: 81
25.11.2008, 13:55
Code
1
2
3
4
int getAge()
{
   return Age;
}
0
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
26.11.2008, 12:43
Чтобы разобраться по нормальному лучше почитай "Бьерн Страуструп - Язык программирования C++", тогда и таких элементарных вопросов не будет.
Лучшего чтива я не встречал.
0
1 / 1 / 0
Регистрация: 23.10.2008
Сообщений: 13
26.11.2008, 12:58
Точно-точно, классику жанра надо уважать
0
сцуко киборг
 Аватар для Жестянка
103 / 30 / 4
Регистрация: 11.09.2008
Сообщений: 193
26.11.2008, 20:20
Значить так: у класса есть 2 типа собственных переменных:
"открытые" (объявленные в области public:) и "закрытые" (объявленные в области private:).

К любой открытой перемноой можно обратиться просто так из любого места программы. Например, если бы переменная Age была объявлена в области private:, её значение можно было бы достать так:
Code
1
2
3
CMyClass Var1;
Var1.Age=5;
int Var2=Var1.Age
Но в данном случае она объявлена как закрытая. Тоесть обратиться к ней напрямую можно только внутри класса, а прога, юзающая класс, её не видит.

Поэтому чтобы как-то добраться до такой переменной приходится писать собтвенные функции, которые сами как бы часть класса и, поэтому, имею доступ ко всем его переменным.

Добавлено через 50 секунд
как-то так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2008, 20:20
Помогаю со студенческими работами здесь

Какими методами для работы с файлами и каталогами следует пользоваться?
Недавно изучаю, C++. И в отличие от PHP, он наполнен большим количеством функций, для решения одной и той же задачи. Когда я ищу в...

Не могу понять как написать
Доброго времени суток. Не мог бы кто помочь в написании программ: 1. Определить имеет ли действительные корни уравнение ax2 + bx + c =...

Не могу понять как передать
есть код #include "stdafx.h" #include <iostream> #include <Windows.h> #include <time.h> #include <ctime> #include <tchar.h> ...

Не могу понять как сделать
Задание такое: Ввести строку и слово. Удалить слово из строки, если она в ней содержится.(делать через массив char) Не понимаю как найти...

Подскажите как пользоваться getch(), не могу понять куда вписывать
Пожалуйста подскажите как пользоваться функцией типа char getch(). Пытаюсь написать Hello world ! но программа сразу закрывается(я знаю...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru