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

Скрытый параметр - казатель this. - C++

Восстановить пароль Регистрация
 
Alexey R
6 / 6 / 1
Регистрация: 23.11.2009
Сообщений: 608
06.09.2010, 18:34     Скрытый параметр - казатель this. #1
Всё написал так. как было написано в листинге 8.8 книги Jessie Liberty. После нажатия на кноку "компилировать" компилятор выдаёт ошибку.
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
#include <iostream>
 
using namespace std;
 
class Rectangle
{
      public:
             Rectangle();
             ~Rectangle();
             void SetLength(int length) { this->itsLength = length; }
             int GetLength() const { return this->itsLength; }
             
             void SetWidth(int width) { itsWidht = width; }
             int GetWidth() const { return itsWidth; }
      private:
              int itsLength;
              int itsWidth;
};
 
Rectangle::Rectangle()
{
                      itsWidth = 5;
                      itsLength = 10;
}
 
Rectangle::~Rectangle()
{ }
 
int main()
{
    Rectangle theRect;
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetLength() << " meters wide.\n";
    theRect.SetLength(20);
    theRect.SetWidth(10);
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetLength() << " meters wide.\n";
    system("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.09.2010, 18:34     Скрытый параметр - казатель this. #2
Alexey R, Ошибку приведите...
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
06.09.2010, 18:36     Скрытый параметр - казатель this. #3
Я не могу понять, зачем тут объявлены два указателя, если можно обойтись просто целочисленными переменными?
Alexey R
6 / 6 / 1
Регистрация: 23.11.2009
Сообщений: 608
06.09.2010, 18:39  [ТС]     Скрытый параметр - казатель this. #4
C:\DC\Jess Liberty\8 8.cpp In member function `void Rectangle::SetWidth(int)':
13 C:\DC\Jess Liberty\8 8.cpp `itsWidht' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
В строке void SetWidth(int width) { itsWidht = width; }
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
#include <iostream>
 
using namespace std;
 
class Rectangle
{
      public:
             Rectangle();
             ~Rectangle();
             void SetLength(int length) { this->itsLength = length; }
             int GetLength() const { return this->itsLength; }
             
             void SetWidth(int width) { itsWidht = width; }
             int GetWidth() const { return itsWidth; }
      private:
              int itsLength;
              int itsWidth;
};
 
Rectangle::Rectangle()
{
                      itsWidth = 5;
                      itsLength = 10;
}
 
Rectangle::~Rectangle()
{ }
 
int main()
{
    Rectangle theRect;
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetLength() << " meters wide.\n";
    theRect.SetLength(20);
    theRect.SetWidth(10);
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetLength() << " meters wide.\n";
    system("PAUSE");
    return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
06.09.2010, 18:40     Скрытый параметр - казатель this. #5
Цитата Сообщение от Alexey R Посмотреть сообщение
Всё написал так. как было написано в листинге 8.8 книги Jessie Liberty. После нажатия на кноку "компилировать" компилятор выдаёт ошибку.
Будьте внимательнее, у вас опечатка в 14 строке itsWidht.
Чтобы использовать команду system надо подключить библиотеку cstdlib
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.09.2010, 18:42     Скрытый параметр - казатель this. #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
#include <iostream>
 
using namespace std;
 
class Rectangle
{
      public:
             Rectangle();
             ~Rectangle();
             void SetLength(int length) { *this->itsLength =length; }
             int GetLength() const { return *this->itsLength; }
             
             void SetWidth(int width) { *itsWidth =width; }
             int GetWidth() const { return *itsWidth; }
      private:
              int * itsLength;
              int * itsWidth;
};
 
Rectangle::Rectangle()
{
   itsWidth=new int(5);
   itsLength=new int(10);
}
 
Rectangle::~Rectangle()
{ }
 
int main()
{
    Rectangle theRect;
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetWidth() << " meters wide.\n";
    theRect.SetLength(20);
    theRect.SetWidth(10);
    cout << "theRect is: " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is: " << theRect.GetWidth() << " meters wide.\n";
    system("PAUSE");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2010, 18:42     Скрытый параметр - казатель this.
Еще ссылки по теме:

C++ Параметр конструктора
Параметр функции C++
C++ Скрытый запуск exe файла

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

Или воспользуйтесь поиском по форуму:
Alexey R
6 / 6 / 1
Регистрация: 23.11.2009
Сообщений: 608
06.09.2010, 18:42  [ТС]     Скрытый параметр - казатель this. #7
Всем спасибо за советы и подсказки.
Yandex
Объявления
06.09.2010, 18:42     Скрытый параметр - казатель this.
Ответ Создать тему
Опции темы

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