Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
#1

Данные класса

30.12.2013, 22:59. Просмотров 439. Ответов 14
Метки нет (Все метки)

Ребят, подскажите пожалуйста, как проинициализировать начальными значениями данные класса, допустим у меня есть класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Plane
{
    public:
        XMMATRIX GetWorldMatrix();
        Plane();
    private:
        XMMATRIX World;
};
 
Plane::Plane()
{
    Plane::World._11 = 1;   Plane::World._12 = 0;   Plane::World._13 = 0,   Plane::World._14 = 0;
    Plane::World._21 = 0;   Plane::World._22 = 1;   Plane::World._23 = 0,   Plane::World._24 = 0;
    Plane::World._31 = 0;   Plane::World._32 = 0;   Plane::World._33 = 1,   Plane::World._34 = 0;
    Plane::World._41 = 0;   Plane::World._42 = 0;   Plane::World._43 = 0,   Plane::World._44 = 1;
}
 
XMMATRIX Plane::GetWorldMatrix()
{
    return Plane::World;
}
но почему-то при вызове метода GetWorldMatrix возвращается матрица с непонятными какиме-то значениями, что я не правильно сделал ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 22:59
Ответы с готовыми решениями:

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции)
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка»...

Статические данные класса
Здравствуйте. Подскажите, почему при создании класса Date не происходит...

Не наследует данные базового класса
Не могу понять что не так,но есть предположение что дело в том что в классе...

Не выводит данные с методов класса
почему с unionSets() не выводит данные?:wall: #include "stdafx.h" #include...

Вывести данные класса в консоль
#include <iostream> using namespace std; class Student { protected: char...

14
Stella
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
30.12.2013, 23:11 #2
Цитата Сообщение от NEvOl Посмотреть сообщение
Plane::World._13 = 0,
почему запятая в конце?
0
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
30.12.2013, 23:17  [ТС] #3
ой, это я опечатался, там так:
C++
1
2
3
4
    Plane::World._11 = 1;   Plane::World._12 = 0;   Plane::World._13 = 0;   Plane::World._14 = 0;
    Plane::World._21 = 0;   Plane::World._22 = 1;   Plane::World._23 = 0;   Plane::World._24 = 0;
    Plane::World._31 = 0;   Plane::World._32 = 0;   Plane::World._33 = 1;   Plane::World._34 = 0;
    Plane::World._41 = 0;   Plane::World._42 = 0;   Plane::World._43 = 0;   Plane::World._44 = 1;
0
Stella
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
30.12.2013, 23:26 #4
NEvOl, тогда может весь код скиньте
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
30.12.2013, 23:27 #5
Цитата Сообщение от NEvOl Посмотреть сообщение
Ребят, подскажите пожалуйста, как проинициализировать начальными значениями данные класса, допустим у меня есть класс:
конструктором мб?)
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 00:07 #6
Цитата Сообщение от NEvOl Посмотреть сообщение
как проинициализировать начальными значениями данные класса,
Цитата Сообщение от dzrkot Посмотреть сообщение
конструктором мб?)
Как бы есть, и как бы инициализирует: Plane::Plane().
NEvOl, XMMATRIX покажите, и как объекты создаёте в коде.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
31.12.2013, 00:26 #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Как бы есть, и как бы инициализирует: Plane::Plane().
я не дочитал до конца))

если это матрица, почему не сделать инициализацию циклом...?
0
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
31.12.2013, 10:15  [ТС] #8
Цитата Сообщение от dzrkot Посмотреть сообщение
я не дочитал до конца))

если это матрица, почему не сделать инициализацию циклом...?
у XMMATRIX нет метода доступа к строкам и столбцам с помощью индекса,

создаю вот так вот:
C++
1
Plane g_Cube[6];
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 10:20 #9
???
Цитата Сообщение от alsav22 Посмотреть сообщение
NEvOl, XMMATRIX покажите,
0
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
31.12.2013, 10:22  [ТС] #10
что показать ? что из себя представляет этот объект ?
вот :http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 10:34 #11
Цитата Сообщение от NEvOl Посмотреть сообщение
что из себя представляет этот объект ?
Что из себя представляет этот класс. Я думал это ваш, а это оказывается microsoft...

Добавлено через 2 минуты
Хедер какой нужно подключать?
0
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
31.12.2013, 10:36  [ТС] #12
C++
1
#include <xnamath.h>
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 10:50 #13
Нормально всё инициализируется.
Цитата Сообщение от NEvOl Посмотреть сообщение
но почему-то при вызове метода GetWorldMatrix возвращается матрица с непонятными какиме-то значениями,
Покажите, как вызов делаете, и как видите значения матрицы.
1
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 11:05 #14
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
#include <windows.h>
#include <xnamath.h>
#include <iostream>
using namespace std;
 
class Plane
{
    public:
        XMMATRIX GetWorldMatrix();
        Plane();
    private:
        XMMATRIX World;
};
 
Plane::Plane()
{
    Plane::World._11 = 1;   Plane::World._12 = 0;   Plane::World._13 = 0;   Plane::World._14 = 0;
    Plane::World._21 = 0;   Plane::World._22 = 1;   Plane::World._23 = 0;   Plane::World._24 = 0;
    Plane::World._31 = 0;   Plane::World._32 = 0;   Plane::World._33 = 1;   Plane::World._34 = 0;
    Plane::World._41 = 0;   Plane::World._42 = 0;   Plane::World._43 = 0;   Plane::World._44 = 1;
}
 
XMMATRIX Plane::GetWorldMatrix()
{
    return Plane::World;
}
 
int main()
{
    Plane g_Cube[6];
    
    for (int i = 0; i < 6; ++i)
    {
        for (int j = 0; j < 4; ++j)
        {
            for (int k = 0; k < 4; ++k)
                cout << g_Cube[i].GetWorldMatrix().m[j][k] << ' ';
            cout << endl;
        }
        cout << endl;
    }
    
    system("pause");
    return 0;
}
1
Миниатюры
Данные класса  
NEvOl
19 / 18 / 1
Регистрация: 13.08.2012
Сообщений: 734
31.12.2013, 11:05  [ТС] #15
нашел косяк в программе, спасибо)
0
31.12.2013, 11:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2013, 11:05

Как достать данные из класса
Добрый вечер. Имею абстрактный и несколько наследуемых от него классов. Получаю...

Почему не выводятся данные родительского класса
помогите с кодом не могу понять почему не выводит данные родительского класса ...

Где инициализировать константные данные класса?
Вот ошибка: в пределах класса могут быть инициализированы только статестические...


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

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

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