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

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

Войти
Регистрация
Восстановить пароль
 
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 180
#1

Классы в структуре - C++

01.08.2013, 19:37. Просмотров 304. Ответов 4
Метки нет (Все метки)

Добрый вечер.
Вопрос первый: какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере?

Вопрос второй: полагаю, что ответ на первый вопрос будет - map, и если это так, то у map есть ключ и значение. Так вот... Ключ у меня описывается двумя объектами одного класса. Как мне это сделать. Самое логичное, что приходит на ум, это сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class property1
{
//содержимое класса
};
 
class property2
{
//содержимое класса
};
 
struct object
{
property1 pr1;
property2 pr2;
};
 
//И объявляем наш контейнер
std::map<object,int> container;
Но так, если я правильно всё понимаю, мы сделать не можем. Как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы в структуре (C++):

Непонятна тема (Классы содержащие другие классы, как данные члены ) - C++
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class Point { public: void SetX(int...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы - C++
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы. Реализовать её нужно в трех...

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

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) - C++
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию...

Классы, включающие другие классы - C++
Столкнулся вот с таким кодом: #include &lt;iostream&gt; class Point { public: void SetX(int x) {itsX = x;} void SetY(int y) ...

Классы возможностей(Mixin классы) - C++
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет членов-данных) Т.е. к примеру у нас...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 19:52 #2
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
Но так, если я правильно всё понимаю, мы сделать не можем.
Почему? Не компилируется?
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
01.08.2013, 19:54 #3
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
01.08.2013, 20:06 #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
если мне не изменяет память, функция сравнения должна быть что-то вроде "operator <"
смутно помню. Но где-то оператора == вроде было недостаточно в этих контейнерах. Я не прав?
gray_fox
What a waste!
1511 / 1214 / 69
Регистрация: 21.04.2012
Сообщений: 2,550
Завершенные тесты: 3
01.08.2013, 20:20 #5
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере?
unordered_map - понадобиться для ключа определить operator == и хэш-функцию; только в новом стандарте (С++11).
map - для ключа нужен только operator <, сложность поиска хуже.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 20:20
Привет! Вот еще темы с ответами:

классы/дочерние классы/методы - C++
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл class Book { protected: char...

Изображение в структуре - C++
Пишу Лабу, необходимо в структуре добавить фотографию, как это осуществить, приложение консольное.

Ошибка в структуре? - C++
Помогите решить структуру #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; #include &lt;string.h&gt; using namespace std; struct atc { ...

String в структуре - C++
Добрый вечер! Подскажите пожалуйста, почему компилятор видит ошибку в строке &quot;cin &gt;&gt; tablica.marka;&quot; следующего кода: #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.08.2013, 20:20
Ответ Создать тему
Опции темы

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