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

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

Войти
Регистрация
Восстановить пароль
 
kvendingoldo
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 23
#1

Как реализовать свой тип данных - C++

09.08.2014, 22:45. Просмотров 1873. Ответов 6
Метки нет (Все метки)

Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr[i] будет соответсвовать две переменные(arr[i].a,arr[i].b). Если точнее - arr[1].a,arr[1].b ... arr[n].a,arr[n].b. В дельфи такое делалось через type. Читал про структуры,но вроде это не то,что надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2014, 22:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как реализовать свой тип данных (C++):

Как создать свой целочисленный тип данных с пределом от 0 до 500 - C++
Доброе утро. Кто может подсказать, как создать персональный тип данных. Задумка вот в чем. Нужна программа, где по нажатию на "A"...

Как сконвертировать свой тип в тип double? - C++
Можно ли конвертировать свой тип в тип doble? Если да, то каким способом?

Создать свой тип данных - C++
Есть класс Bignum, который хранит большие числа: class Bignum { string digits; // Число }; Возможно ли сделать вот...

Создать свой целочисленный тип данных - C++
Здравствуйте, у меня возник вопрос, можно ли создать например целочисленный тип данных, который может принимать только значения от 1 до 4 и...

Не получается создать свой тип данных - C++
Всем привет! Подскажите почему компилятор ругается на эти три строчки? MyVector2D():x(0),y(0){} MyVector2D(float x, float...

Свой тип данных для перегрузки функций - C++
Добрый день! Имеется широта и долгота - все FLOAT. Хочу сделать пару функций с одинаковым названием, но с разной реализацией для разных...

6
NeonLost
Пес войны
76 / 87 / 3
Регистрация: 23.02.2012
Сообщений: 653
09.08.2014, 22:48 #2
Цитата Сообщение от kvendingoldo Посмотреть сообщение
Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr[i] будет соответсвовать две переменные(arr[i].a,arr[i].b). Если точнее - arr[1].a,arr[1].b ... arr[n].a,arr[n].b. В дельфи такое делалось через type. Читал про структуры,но вроде это не то,что надо.
либо так
C++
1
2
3
4
5
struct pair
{
    int a;
    int b;
};
либо так
C++
1
2
3
4
5
class pair
{
    int a;
    int b;
};
а вообще есть std::pair
2
St1f1er
2 / 2 / 0
Регистрация: 08.08.2014
Сообщений: 14
09.08.2014, 22:55 #3
Цитата Сообщение от kvendingoldo Посмотреть сообщение
Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr[i] будет соответсвовать две переменные(arr[i].a,arr[i].b). Если точнее - arr[1].a,arr[1].b ... arr[n].a,arr[n].b. В дельфи такое делалось через type. Читал про структуры,но вроде это не то,что надо.
Может двумерный массив? arr[n][a] arr[n][b]

А свой тип данных это тебе в классы
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
10.08.2014, 11:44 #4
NeonLost, ну с классом (а стало быть приватным доступом по умолчанию) так не выйдет
Цитата Сообщение от kvendingoldo Посмотреть сообщение
Читал про структуры,но вроде это не то,что надо.
Как раз то, что надо. По крайне мере, начать с этого точно можно.
0
NeonLost
Пес войны
76 / 87 / 3
Регистрация: 23.02.2012
Сообщений: 653
10.08.2014, 12:18 #5
Цитата Сообщение от Tulosba Посмотреть сообщение
NeonLost, ну с классом (а стало быть приватным доступом по умолчанию) так не выйдет
готов с тобой поспорить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Foo {
private:
char a;
int b;
float c;
 
public:
Foo() : a('a'), b(10), c(3.5f) {}
};
 
#include <iostream>
int main() {
Foo* foo = new Foo();
 
std::cout«"hello world " « *((float*) ((void*) foo)+2);
 
delete foo;
return 0;
}
0
DrOffset
7517 / 4513 / 1024
Регистрация: 30.01.2014
Сообщений: 7,362
10.08.2014, 12:27 #6
Цитата Сообщение от NeonLost Посмотреть сообщение
*((float*) ((void*) foo)+2);
Главное, при таких фортелях не забывать про выравнивание.
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
10.08.2014, 12:34 #7
Цитата Сообщение от NeonLost Посмотреть сообщение
готов с тобой поспорить
такой спор лучше даже не начинать
Цитата Сообщение от NeonLost Посмотреть сообщение
«
Кавычки-то откуда вылезли вместо <<? Неужто из ворда?
0
10.08.2014, 12:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2014, 12:34
Привет! Вот еще темы с ответами:

Как создать свой собственный тип на C++? - C++
Здравствуйте!!! Возник вопрос как создать свой собственный тип на С++ который включат такие типы как int, string, double?

Свой тип как параметр шаблона - C++
Есть вопрос по коду: #include &lt;iostream&gt; #include &lt;memory&gt; #include &lt;vector&gt; using namespace std; template&lt;class T&gt; class...

Как свой класс реализовать через формы - C++
Добрый день. Только начал изучать ГУИ на С++. Использовал вот этот гайд http://code-live.ru/post/first-windows-form/ Здесь...

Свой тип данных позволяющий хранить числа разрядностью в <= 30 - C++
Доброго времени суток! Возникла потребность иметь программу позволяющую производить арифметические действия с числами, разрядность...


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

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

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