Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
GrukhvinEV
25 / 25 / 0
Регистрация: 08.11.2011
Сообщений: 284
#1

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

29.08.2012, 14:17. Просмотров 492. Ответов 7
Метки нет (Все метки)

Пусть класс 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();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2012, 14:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача. Указатель this (C++):

Задача на указатели.Указатель на указатель. - C++
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали равны 0, а...

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Функция, принимающая указатель и число байт и выделяющая память под указатель - C++
Здравствуйте. Задача легкая, но почему-то завис Нужно написать функцию, принимающую указатель и число байт и выделяющую память под...

Функция, получающая указатель на обычную функцию, получает указатель на метод класса - C++
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Как правильно удалять выделенную память под указатель на указатель? - C++
есть код #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; void sort_1(const...

Реализация двоичных деревьев поиска: Зачем в параметрах функции используется указатель на указатель - C++
Всем привет, встретил в книге такой пример добавления узла в дерево: typedef struct tree { int data; tree *left, *right,...

7
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 14:40 #2
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
cout <<m << ' ' ' ' << k << ' ' ' ';
Это что?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2012, 14:45 #3
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
int maket::k=z;
Что за maket?

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

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


Цитата Сообщение от GrukhvinEV Посмотреть сообщение
<< ' ' ' ' <<
Это как понимать?
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 14:48 #4
Цитата Сообщение от GrukhvinEV Посмотреть сообщение
Что будет выведено *при выполнении следующего фрагмента программы при
Исправьте код, запустите и посмотрите сами.
0
GrukhvinEV
25 / 25 / 0
Регистрация: 08.11.2011
Сообщений: 284
29.08.2012, 14:57  [ТС] #5
Не знаю что это, сверил все точно. Сижу на экзамене, набрал код не компилится. Время жмет )))
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2012, 15:02 #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;
}
1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.08.2012, 15:06 #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
1
GrukhvinEV
25 / 25 / 0
Регистрация: 08.11.2011
Сообщений: 284
29.08.2012, 15:11  [ТС] #8
Не запускается (((

Добавлено через 1 минуту
Все. Разобрался все работает, все замечательно! Всем спасибо большое !
0
29.08.2012, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2012, 15:11
Привет! Вот еще темы с ответами:

Зачем нужен указатель на указатель при работе с однонаправленным списком? - C++
День добрый. Столкнулся с непониманием этой темы. В частности, совершенно непонятен алгоритм инициализации такого вот списка. Например:...

Функция принимает указатель на void и возвращает указатель на int - C++
Запишите прототип функции, которая принимает указатель на void и возвращает указатель на int.

Приведение любого двумерного массива к типу указатель на указатель - C++
Допустим, есть несколько массивов int arr1; int arr2; int arr3; Какое преобразование нужно сделать, чтобы подобные присвоения...

Объяснить работу функции, возвращающей указатель на указатель на char - C++
Добрый день! Сможете объяснить что означает запись char **InputFile(int &amp;strings);? Почему именно двойное **? Буду очень благодарна...


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

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

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