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

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

Войти
Регистрация
Восстановить пароль
 
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 175
#1

Классы разобрать строку - C++

12.07.2014, 15:31. Просмотров 231. Ответов 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
#include <iostream>
using namespace std;
 
class CAT
{
public:
    CAT() { itsAge = 1; itsWeight = 5; }
    ~CAT(){ }
    int GetAge() const { return itsAge; }
    int GetWeight() const { return itsWeight; }
    void SetAge(int age) { itsAge = age; }
private:
    int itsAge;
    int itsWeight;
};
 
int main()
{
    CAT Litter[5];
    int i;
    for (i = 0; i < 5; i++)
    {
        Litter[i].SetAge(2 * i + 1);
    }
    for (i = 0; i < 5; i++)
    {
        cout << "cat #" << i + 1 << ": ";
        cout << Litter[i].GetAge() << endl;
    }
    return 0;
}
1. Зачем эта строка ~CAT(){ }, я знаю что это деструктор, но что он делает здесь и зачем он?
2. Зачем вообще в этой программе itsWeight = 5; , int GetWeight() const { return itsWeight; }, int itsWeight; если оно не нужно здесь? Оно просто возвращает значение в классе itsWeight; и все.
3. void SetAge(int age) { itsAge = age; } зачем эта строка? зачем itsAge приравнивать к age?
4. что делает эта строка cout << Litter[i].GetAge() << endl;, не очень понятно

Добавлено через 6 минут
Последние 2 вопроса 3,4 я разобрал сам..
1 и 2 вопрос не понял
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2014, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы разобрать строку (C++):

Разобрать строку кода - C++
как детально разобраться с этой строчкой кода : cout&lt;&lt;((A&gt;&gt;i)&amp;1);

Разобрать строку кода - C++
Часть программы, если что // Game engine struct Piece { struct { unsigned short s; } shape; int x : 8, y : 8, color :...

Как разобрать строку - C++
Здравствуйте. Мне нужно разобрать строки, получить переменные. Однако разделителей несколько (переменные имеют иерархическую...

Разобрать строку по кускам - C++
Здравствуйте! Помогите, пожалуйста, разобраться с токенами делящими строку на части. Есть вот такая функция, которая должна возвращать...

Как правильно разобрать строку на C++? - C++
В программе#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; using namespace std;...

Как с помощью istringstream разобрать строку на переменные - C++
у нас есть клас CDateTime, внутри private: string date; и куча прототипов для перегрузки операторов +, -, =, итд. ещё есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
12.07.2014, 15:43 #2
1. Деструктор можно было и не писать, компилятор бы его автоматически сгенерировал. Возможно, он понадобится в будущем, и его тело изменят.
2. В с++ доступ к закрытым данным(itsAge) реализуется через открытые элемент-функции(GetAge) и это гордо именуется инкапсуляцией
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
12.07.2014, 20:40 #3
Цитата Сообщение от FIN7 Посмотреть сообщение
Зачем вообще в этой программе itsWeight = 5
Ну, какое-то значение должно быть по умолчанию, например, 5.
Цитата Сообщение от FIN7 Посмотреть сообщение
int GetWeight() const
См. пост выше по поводу GetAge()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 20:40
Привет! Вот еще темы с ответами:

Работа с двумерным массивом - разобрать строку кода - C++
Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал...

SendMessage(hListBox, LB_GETCARETINDEX, 0, 0L). Разобрать строку кода - C++
Подскажите, пожалуйста, что значит эта строка? uItem=(int)SendMessage(hListBox, LB_GETCARETINDEX, 0, 0L);

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

ООП Классы. Выделение памяти под строку char* - C++
Делал программу на освоение классов и тд. и наткнулся на такую вот штуку.При вводе с клавиатуры переменной Name типа char* программа...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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