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

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

Войти
Регистрация
Восстановить пароль
 
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
#1

Массив как в js - C++

27.12.2012, 11:21. Просмотров 306. Ответов 7
Метки нет (Все метки)

Помогите реализовать классы для массива js

Основная проблема это хранение данных вида a={pro:'123', prot: 1245, asd : '321'}

Как это можно сделать? Можно просто идеями поделится
C++
1
2
3
4
5
6
7
8
9
10
template<class Type>
class Variable{
    public:
    string name;
    string type;
    Type expr;
    Variable(Type a){
        expr=a;
    }
};
Вот так я создаю переменную type(string, integer, double).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 11:21     Массив как в js
Посмотрите здесь:

Как массив разнозначных чисел превратить в массив цифр? (С++) - C++
(Я делаю на Builder 6, С++ на консоли) У меня в курсаче есть такое задание: Для введённого целого числа N определить N-ую ЦИФРУ...

Как разбить массив по 3 елемента и засунуть в другой массив - C++
Здарова форумчане. Помогите, кому не лень решить задачу по программированию на c++ Кароче нам дан массив чисел от 1 до 18. Сначала нам...

Как сложить массив чтоб получился одномерный массив? - C++
Например есть 3х мерный массив, как сложить его строки чтоб получился одномерный массив B (1 строка будет 1 элементом массива В). void...

Массив и память. Как создать динамический массив? - C++
не могу исправить ошибки. И нужен динамический массив я что-то попробовала для его создания но ничего не вышло #include &quot;stdafx.h&quot; ...

Как передать массив в массив с указателем - C++
Как передать массив в массив с указателем тоесть например массив double c в массив **а в этой функции#include &lt;windows.h&gt;//malloc,...

Как загнать текст из консоли в массив и как загнать текст из файла в массив - C++
Как загнать текст из консоли в массив и как загнать текст из файла в массив. Как использовать посимвольное чтение в с++?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
27.12.2012, 11:35     Массив как в js #2
Пример реализации есть в проекте dmd.2.060.zip со страницы http://dlang.org/download.html
Конкретно в файле root/aav.c

Если правильно понимаю, вы хотите реализовать ассоциативный массив ( по другому хэш)?
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
27.12.2012, 11:39  [ТС]     Массив как в js #3
ну да ассоциативный массив, только все что я нашел в интернете связано с map, а там нельзя хранить тот пример который я написал.
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
27.12.2012, 12:20     Массив как в js #4
Вообще это не массив, а объект. Делаете класс/структуру. Первое поле типа string (название свойства), второе что-то шаблонное. Дальше создаете класс, с этими свойствами.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
27.12.2012, 15:26  [ТС]     Массив как в js #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
template<class Name, class Type>
class Variable{
    public:
    Name name;
    Type expr;
};
 
 
 
int main(){
    Variable<string, double> t[100];     
}
вот так можно создать, но это не сработает если какой-либо элемент массива будет string, как это можно исправить?

Добавлено через 1 час 17 минут
можно ли объявить в классе переменную public после его создания?

C++
1
Variable<string, double> t[100];
после этого добавить переменную
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
27.12.2012, 16:01     Массив как в js #6
Я смотрю ты хочешь хранить в массиве разные данные в перемешку? Тогда может подойти такой вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
enum e_types {
   jsInt,
   jsString
};
 
struct js_object {
   e_types type;
   void* data;
};
 
map<string,js_object> js_map;
Таким образом ты создаешь объект, в который помещаешь ссылку на твои данные и его тип (чтобы потом можно было узнать что ты запихнул в мапу). После этого просто создаешь хеш-массив и работаешь с ним. Только будь осторожен с void*
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
27.12.2012, 16:09  [ТС]     Массив как в js #7
да мне нужно в перемешку, сейчас попробую)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 17:24     Массив как в js
Еще ссылки по теме:

Объявить массив? Запросто! Объявить массив массивов? А как это? - C++
Доброго времени суток! Конечно, все знают, как объявить массив! int main () { int array; }

Одномерный массив, подскажите как вывести, как просит в задании - C++
После ввода с клавиатуры произвольного одномерного массива целых чисел (в пределах знакового целого типа) вывести на экране нечетные из них...

как переделать массив что бы не было его остановки и как добавить индекс - C++
Такая вот задача найти индекс максимального элемента массива , вот мой код что тут не так и что следует добавить ? и почему у меня индекс...

Как написать массив? - C++
Нужно написать программу, в которой массив сможет принимать любые типы данных, например: float, char, int. Помогите пожалуйста.. :) У...


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

Или воспользуйтесь поиском по форуму:
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
27.12.2012, 17:24     Массив как в js #8
есть boost::any, boost::variant ну и всякие аналоги в других библиотеках. вот для ознакомления:
http://hghltd.yandex.net/yandbtm?tex...558c60&keyno=0
хм. форум битую ссылку вставляет почему-то. в любом случае ключевые слова для поиска:
boost::variant
boost::any
Yandex
Объявления
27.12.2012, 17:24     Массив как в js
Ответ Создать тему
Опции темы

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