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

Задача. Указатель this - C++

Восстановить пароль Регистрация
 
GrukhvinEV
23 / 23 / 0
Регистрация: 08.11.2011
Сообщений: 288
29.08.2012, 14:17     Задача. Указатель this #1
Пусть класс Maket описан следующим образом:
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
#include <iostream.h>
class Maket
{ private:
int m;
static int k;
public:
Maket (int n)
{m=n;}
void show(){ if (k<0) cout <<m << ' ' ' ' << k << ' ' ' ';
else cout << m << ' ' ' ';
}
void methodl(int p) {
k=p;
}
};
//Что будет выведено  при выполнении следующего фрагмента программы при x=20 y=89 z=1 m=15
int maket::k=z;
void main(){
Maket obj(x);
Maket objl(y);
abj.show();
objl.show();
obj.method(m);
objl.show();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 14:40     Задача. Указатель this #2
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
cout <<m << ' ' ' ' << k << ' ' ' ';
Это что?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2012, 14:45     Задача. Указатель this #3
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
int maket::k=z;
Что за maket?

Цитата Сообщение от GrukhvinEV Посмотреть сообщение
abj.show();
Что за abj ?

Цитата Сообщение от GrukhvinEV Посмотреть сообщение
obj.method(m);
Что за method() ?


Цитата Сообщение от GrukhvinEV Посмотреть сообщение
<< ' ' ' ' <<
Это как понимать?
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 14:48     Задача. Указатель this #4
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
Что будет выведено *при выполнении следующего фрагмента программы при
Исправьте код, запустите и посмотрите сами.
GrukhvinEV
23 / 23 / 0
Регистрация: 08.11.2011
Сообщений: 288
29.08.2012, 14:57  [ТС]     Задача. Указатель this #5
Не знаю что это, сверил все точно. Сижу на экзамене, набрал код не компилится. Время жмет )))
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2012, 15:02     Задача. Указатель this #6
Код
#include <iostream>
#include <cstdlib>
using namespace std;

class Maket
{
private:
int m;
static int k;

public:
Maket (int n)
{
m = n;
}
void show()
{
if (k < 0) cout << m << ' ' << k << ' ';
else cout << m << ' ';
}
void methodl(int p)
{
k = p;
}
};
//Что будет выведено при выполнении следующего фрагмента программы при x=20 y=89 z=1 m=15

int x = 20, y = 89, z = 1, m = 15;
int Maket::k = z;

int main()
{


Maket obj(x);
Maket objl(y);
obj.show();
objl.show();
obj.methodl(m);
objl.show();

system("pause");
return 0;
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 15:06     Задача. Указатель this #7
Сижу на работе, ради вас старался
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
#include <iostream>
using namespace std;
int z = 1;
class Maket
{ 
private:
    int m;
    static int k;
public:
    Maket (int n)
    {m=n;}
    void show(){ if (k<0) cout <<m << " " << k << " ";
    else cout << m << " ";
    }
    void methodl(int p) {
        k=p;
    }
};
//Что будет выведено  при выполнении следующего фрагмента программы при x=20 y=89 z=1 m=15
int Maket::k = z;
int main(){
    int x = 20, y=89, m=15;
    Maket obj(x);
    Maket objl(y);
    obj.show(); //выводит 20
    objl.show(); //выводит 89
    obj.methodl(m); 
    objl.show(); //выводит 89
    cout<<endl;
    system("pause");
    return 0;
}
Выводить будет 20 89 89 так как статическая переменная у всех объектах больше 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2012, 15:11     Задача. Указатель this
Еще ссылки по теме:

Расскажите, как здесь работает указатель на указатель? C++
Почему указатель на указатель объявляется как float **A; C++
C++ Указатель на указатель и Нарушение прав доступа

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

Или воспользуйтесь поиском по форуму:
GrukhvinEV
23 / 23 / 0
Регистрация: 08.11.2011
Сообщений: 288
29.08.2012, 15:11  [ТС]     Задача. Указатель this #8
Не запускается (((

Добавлено через 1 минуту
Все. Разобрался все работает, все замечательно! Всем спасибо большое !
Yandex
Объявления
29.08.2012, 15:11     Задача. Указатель this
Ответ Создать тему
Опции темы

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