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

Разъясните пожалуйста (классы) - C++

Восстановить пароль Регистрация
 
Qwoort
 Аватар для Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
09.06.2012, 17:42     Разъясните пожалуйста (классы) #1
1. Зачем в следующем коде в 1 строке стоит амперсанд?
2. Что значит RHS и когда его использовать?
3. Зачем стоит звездочка в 6 строке перед rhs.itsWeight?

C++
1
2
3
4
5
6
7
CAT::CAT(const CAT & rhs)
{
   itsAge=new int;
   itsWeight=new int;
   *itsAge=rhs.GetAge();
   *itsWeight= *(rhs.itsWeight);
}
4.Почему в следующем коде в 8 строке стоит амперсанд, а в 9 - нет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
class Counter
{
   public:
      Counter();
      ~Counter(){}
      int GetItsVal() const {return itsVal;}
      void SetItsVal(int x) {itsVal = x;}
      const Counter& operator ++();  //Оператор преинкремента.
      const Counter operator ++(int);//Оператор постинкремента.
   private:                          
      int itsVal;                    
};
5. Почему в следующем коде в 1 и 7 строках по два раза повторяется слово Counter?
6. Какую функцию здесь несет оператор THIS и зачем перед ним стоит звездочка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
const Counter& Counter::operator++()
{
   ++itsVal;
   return *this;
}
 
const Counter Counter::operator ++(int x)
{
   Counter temp(*this);
   ++itsVal;
   return temp;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2012, 17:42     Разъясните пожалуйста (классы)
Посмотрите здесь:

Обясните пожалуйста все про классы в С++ C++
Разъясните пожалуйста некоторые детали... C++
классы.посмотрите пожалуйста) C++
разъясните,пожалуйста, как это сделать? C++
C++ Подскажите, пожалуйста, учебник/статью (или что-то в этом роде) про классы
Разъясните что тут написано, ну пожалуйста C++
C++ Разъясните пожалуйста фрагмент программы
Разъясните пожалуйста C++
Не могу понять задание,пожалуйста.Классы C++
C++ Помогите пожалуйста дописать программу по теме ООП, Классы
C++ Разъясните пожалуйста задачу
Разъясните пожалуйста пару строк кода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
09.06.2012, 18:24     Разъясните пожалуйста (классы) #2
Цитата Сообщение от Qwoort Посмотреть сообщение
1. Зачем в следующем коде в 1 строке стоит амперсанд?
Это значит что переменная rhs передается по ссылке.

Цитата Сообщение от Qwoort Посмотреть сообщение
2. Что значит RHS и когда его использовать?
rhs - это просто имя переменной. Тип у этой переменной const CAT. То есть ее нельзя изменять

Добавлено через 3 минуты
Цитата Сообщение от Qwoort Посмотреть сообщение
6. Какую функцию здесь несет оператор THIS и зачем перед ним стоит звездочка?
Если не ошибаюсь this - это указатель на объект. У каждого объекта есть собственный указатель на самого себя. А звездочка перед ним значит берется само значение переменной.

Добавлено через 2 минуты
Цитата Сообщение от Qwoort Посмотреть сообщение
5. Почему в следующем коде в 1 и 7 строках по два раза повторяется слово Counter?
Первое слово Counter - это возвращаемое значение функции.
Yandex
Объявления
09.06.2012, 18:24     Разъясните пожалуйста (классы)
Ответ Создать тему
Опции темы

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