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

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

Войти
Регистрация
Восстановить пароль
 
Alexey R
5 / 5 / 1
Регистрация: 23.11.2009
Сообщений: 608
#1

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

06.09.2010, 18:34. Просмотров 394. Ответов 6
Метки нет (Все метки)

Всё написал так. как было написано в листинге 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2010, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скрытый параметр - казатель this. (C++):

Ошибка при передаче в скрытый параметр класса. - C++
В функции считываю из входного файла некоторые значения(x1,x2,y1,y2,alph,omeg,rad,POG,park и тп) с помощью файлового потока. Программа...

Win32 скрытый запуск - C++
Есть консольное приложение Win32 сответственно при запуске открывается консоль как сделать так что б консоль неоткрывалась тоесть как...

Полностью скрытый режим - C++
Всем привет. #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &quot;windows.h&quot; #pragma comment (lib, &quot;shell32.lib&quot;) using namespace...

Скрытый запуск внешней программы - C++
Здравствуйте, товарищи! Подскажите, можно ли запустить как-то чужую программу в скрытом режиме (в Windows)? Я запускаю программу...

Скрытый запуск exe файла - C++
Мне нужно запустить exe так, чтобы окно не появилось, но программа работала (как бы в фоне). Создал Win32 приложение (пустое). Делал...

1) Фильтры Сервлетов. 2) Скрытый параметр html - Java EE
Добрый вечер. Есть несколько вопросов: 1) Как при помощи сервлетных фильтров организовать редирект при определенном запросе. Например...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
06.09.2010, 18:34 #2
Alexey R, Ошибку приведите...
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
06.09.2010, 18:36 #3
Я не могу понять, зачем тут объявлены два указателя, если можно обойтись просто целочисленными переменными?
Alexey R
5 / 5 / 1
Регистрация: 23.11.2009
Сообщений: 608
06.09.2010, 18:39  [ТС] #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
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.09.2010, 18:40 #5
Цитата Сообщение от Alexey R Посмотреть сообщение
Всё написал так. как было написано в листинге 8.8 книги Jessie Liberty. После нажатия на кноку "компилировать" компилятор выдаёт ошибку.
Будьте внимательнее, у вас опечатка в 14 строке itsWidht.
Чтобы использовать команду system надо подключить библиотеку cstdlib
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
06.09.2010, 18:42 #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;
}
Alexey R
5 / 5 / 1
Регистрация: 23.11.2009
Сообщений: 608
06.09.2010, 18:42  [ТС] #7
Всем спасибо за советы и подсказки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2010, 18:42
Привет! Вот еще темы с ответами:

Используя параметр, введенный с клавиатуры, удалить все файлы, содержащие этот параметр - CMD/BAT
Задание такое:используя параметр введенный с клавиатуры удалить все файлы содержащие этот параметр. Что нужно прописать в bat'е чтобы...

Объекты: параметр-значение и параметр-переменная - Pascal
Если сделать код таким: type TPos=object ax,ay:integer; constructor Init(x,y:integer); function...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Стартовая страница yamdex.ne - Удаление вирусов
При запуске Google: cтартовая страница yamdex.net.В настройках GoogleChrome стоит параметр &quot;Этот параметр включен администратором&quot;. ...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Стартовая страница yamdex.ne - Удаление вирусов
При запуске Google: cтартовая страница yamdex.net.В настройках GoogleChrome стоит параметр &quot;Этот параметр включен администратором&quot;. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.09.2010, 18:42
Ответ Создать тему
Опции темы

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