Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
#1

Сравнение обьекта - C++

25.11.2013, 23:13. Просмотров 215. Ответов 1
Метки нет (Все метки)

Почему тут(39) написано if (this == &rhs) а не if (this == rhs)?


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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Листинг 10.15.
  
 #include <string> 
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. 
//Просто подключите это файл смело и не раздумывая  вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 
  class CAT
 {
     public:
      CAT(); // конструктор по умолчанию
              // конструктор-копировщик и деструктор пропущены!
      int GetAge() const { return *itsAge; }
      int GetWeight() const { return *itsWeight; }
      void SetAge(int age) { *itsAge = age; }
      CAT & operator=(const CAT &);
 
     private:
      int *itsAge;
      int *itsWeight;
   };
 
   CAT::CAT()
   {
      itsAge = new int;
      itsWeight = new int;
      *itsAge = 5;
      *itsWeight = 9;
   }
 
 
  CAT & CAT::operator=(const CAT & rhs)
  {
      if (this == &rhs)
      return *this;
      *itsAge = rhs.GetAge();
      *itsWeight = rhs.GetWeight();
      return *this;
  }
 
 
 int main()
   {
    CAT frisky;
    cout << "frisky's age: " << frisky.GetAge() << endl;
    cout << "Setting frisky to 6...\n";
    frisky.SetAge(6);
    CAT whiskers;
    cout << "whiskers' age: " << whiskers.GetAge() << endl;
    cout << "copying frisky to whiskers...\n";
    whiskers = frisky;
    cout << "whiskers' age: " << whiskers.GetAge() << endl;
    system("pause  ");
    return 0;
   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 23:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сравнение обьекта (C++):

Исключительный доступ обьекта к полям другого обьекта avr/c++
исключительный доступ обьекта к полям другого обьекта avr/c++ добрый день ...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++
Доброго времени суток! Имеется код программы: ifstream test(&quot;primer.txt&quot;);...

Дескриптор обьекта
Работаю в Visual Studio,как на WinApi узнать дескриптор(HWND) объекта? Есть...

Передвижение обьекта
Нужно написать программу передвижения обьекта.Программа показывает поле XXXXX...

Передача в функцию обьекта
Всем привет. В интернете ничего не нашел по этому поводу: Я делаю шашки и у...

Возвращение обьекта из шаблона
Всем доброго дня ! Не могу понять в чем проблема ((( Есть класс шаблон А...

1
ssXXss
266 / 188 / 33
Регистрация: 15.01.2011
Сообщений: 681
25.11.2013, 23:17 #2
CAT & CAT::operator=(const CAT & rhs) это ссылка на объект а this это указатель, &rhs - адрес
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2013, 23:17
Привет! Вот еще темы с решениями:

Передача обьекта в функию
Изучаю прогу в универе, понадобилось сделать обьект как аргумент функции.ООП...

Не работает создание обьекта
#include &lt;stdio.h&gt; struct Point { float x, y, z; Point(float...

Инициализация обьекта класса списком C++
Здравствуйте, кому не сложно расскажите в кратце как мне сделать вот такую...

Вернуть С-строку из обьекта класса
Есть класс, у него метод c_str. Какой лучший способ вернуть С-строку? 1)void...


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

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

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