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

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

Войти
Регистрация
Восстановить пароль
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
#1

Левостороннее значение - C++

26.04.2012, 19:02. Просмотров 1035. Ответов 2
Метки нет (Все метки)

Помогите! как писать в элемент при индексации?
в векторе - указатель. По нему создан массив.
в методе operator[](int index) возвращаю:
return vect[index/size_of_block][index%size_of_block]
но закомментированная строка вызывает ошибку левого операнда
как быть??

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
//
 
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
 
template <class Type> class mas
{
    vector <Type*> vect;
    unsigned int size_of_block;
    unsigned int size;
public:
mas()
    {
        size_of_block=50;
        size=50;
        Type*p=new Type[size_of_block];
        vect.push_back(p);
    }
mas(unsigned int _size)
    {
        size_of_block=_size;
        size=size_of_block;
        Type* p=new Type[size_of_block];
        vect.push_back(p);
    }
Type operator[](int index)
{
    if(index<size)
    {
 
        return vect[index/size_of_block][index%size_of_block];//делим нацело - получаем номер блока - указатель, а теперь надо взять элемент массива, созданного по этому указателю
    }
}
 
};
void main()
{
    mas <int> mass;
    //mass[32]=10;
    cout<<mass[32];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 19:02     Левостороннее значение
Посмотрите здесь:

C++ Для данного вещественного х найти значение следущей функции f, принимающей значение целого типа:
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
C++ Определить, является ли введенное значение года високосным, если введено корректное значение
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
C++ error C2105: для "++" требуется левостороннее значение
C++ циклы. Требуется найти максимальное значение функции на отрезке [a,b] и значение x C++
Замена всех элементов массива, значение которых превышает среднее значение, максимальным элементом C++
Вычислить значение аргумента x, значение функции y, max и min функций C++
C++ Вывести на экран значение t при котором функция x(t) принимает максимальное значение
C++ Вычислить среднеарифметическое значение элементов массива и определить минимальное положительное значение
C++ Ввести с клавиатуры вещественное (double) значение x, вывести соответствующее значение y для функции y = f(x)
Найти наименьшее положительное значение функции и соответствующее значение аргумента C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
26.04.2012, 19:28     Левостороннее значение #2
Возвращай ссылку:
C++
1
Type& operator[](int index)
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
26.04.2012, 19:35  [ТС]     Левостороннее значение #3
сказываются бессонные ночи: я этот амперсант уже к ретурну тулил во все места... материал первого курса... стыдно не знать...
точнее забыть!
Yandex
Объявления
26.04.2012, 19:35     Левостороннее значение
Ответ Создать тему
Опции темы

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