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

Не могу получить доступ к члену класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ указатель http://www.cyberforum.ru/cpp-beginners/thread761483.html
как сделать эту программу с использованием указателя? #include <iostream.h> #include<conio.h> void main() { clrscr(); int a,b, i, j, m,n; cout«"Vvedite mxn\n"; cin»m»n;
C++ Шифровка и дешифровка файлов Код готовый, нужно только сократить) а то что- то много получается... препод ругается) Даны текстовые файлы. Реализовать функции шифровки и дешифровки методом циклического сдвига вправо на... http://www.cyberforum.ru/cpp-beginners/thread761465.html
C++ Строки в структурах
Добрый день, объясните пожалуйста мне - начинающему, как в структуре можно обратиться к строке. Например структура: struct Record { bool aktiv; int check_period; bool port; char Program_name;...
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
Доброго времени суток ! Помогите решить задачу ! Нужно написать в цикле с постусловием следующее : Вычислить значение функции a=b2sin(b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти...
C++ ошибки "Complex" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору http://www.cyberforum.ru/cpp-beginners/thread761425.html
заголовочный файл #include <iostream> #include <iostream> #include <conio.h> #include <math.h> using namespace std;
C++ Бинарные файлы Товарищи! такая задача: нужно в бинарный файл передавать данные разных типов (к примеру int, char, long double итд) но не используя структуры или классы, то есть на прямую кидать туда. Как сделать,... подробнее

Показать сообщение отдельно
Robesper3411
14 / 14 / 1
Регистрация: 20.02.2012
Сообщений: 437
Записей в блоге: 1

Не могу получить доступ к члену класса - C++

14.01.2013, 16:36. Просмотров 544. Ответов 11
Метки (Все метки)

Прошу сильно не пинать - только начинаю изучение ООП.
Собственно пишу морской бой. Описал класс "Kreiser" - объект, который содержит в себе координаты корабля. Поскольку классы для одно, двух и пр. писать некрасиво, то я создаю двумерный динамический массив din. Задавать причем приходиться через указатель(так как по-другому как не знаю). Собственно проблема в том, что я не могу получить доступ к определнному din[x][y] в main. Подскажите плиз - что тут можно сделать?
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
 
using namespace std;
using std::cout;
using std::cin;
using std::endl;
 
class Kreiser
{
public:
    int x, y, napr, palub;
    int** din;
public:
    int i, j, k, random, komb;
    //Рэндомный выбор позиции корабля
    int randomize(int palub)
    {
        srand(int(time(NULL)));
        komb = (13-palub)*12;
        random=rand()%komb;
        return random;
    }
    //Рэндомный выбор направления корабля
    int naprav()
    {
        srand(int(time(NULL)));
        napr = rand()%2;
        return napr;
    }
public: 
    Kreiser(int palub)
    {
        int** din = new int *[palub];
        for (i = 0; i < palub; ++i)
        {
            din[i] = new int [3];
        }
        for (i = 0; i < palub; i++)
        {
            for (j = 0; j < 3; j++)
            {
                din[i][j] = 1;
            }
        }
        k = randomize(palub);
        napr=naprav();                              
        y = int(k/12);
        x = k - y*12;
        cout << random << ' ' << napr << ' ' << x << ' ' <<  y << endl;
        for(j=0; j < palub; j++)
        {
            if(napr == 0)
            {
                din[j][0]=x;
                din[j][1]=y + j;
                din[j][2]=1;
            }
            else
            {
                din[j][0]=y + j;
                din[j][1]=x;
                din[j][2]=1;
            }
        }
        for(int i=0; i < palub; i++)
        {
            for(int j=0; j < 3; j++)
            {
                cout << din[i][j] << ' ';
            }
            cout << endl;
        }
    }
    ~Kreiser()
    {}
};
 
int main()
{
    
    Kreiser static k(4);
    cout << k.random << endl;
    cout << k.din;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru