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

класс vector ошибка в push_back() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамические массивы http://www.cyberforum.ru/cpp-beginners/thread666175.html
Попытался поработать с дин. массивами, почему то ошибка появляется,может подскажете в чем проблема #include "iostream" using namespace std; int main() { int size=2; int i; int *a=new int; cout<<"enter size of array ";
C++ Функции. Синтаксис объявления и вызова 1. Написать функцию, которая вычисляет Вариант Задание 1 площадь круга S по его радиусу R (S=R2) 2 площадь треугольника S по его основанию a и высоте h (S=ah/2) 3 площадь кольца S по его внешнему R и внутреннему r радиусам (S=(R2 - r2)) 4 http://www.cyberforum.ru/cpp-beginners/thread666167.html
C++ синонимы операций взятия адреса массива (arr и &arr)
возможно коряво написал заголовок, да и сам вопрос банальный. после создании лок. массива его адрес можно получить при помощи его имени или &имя. После вызова др. ф-ции и передачи ему копии мас, повторяю те же операции. &ar - показывает другой адрес, а ar - адрес прежнего массива int main() { int ar; cout << &ar << endl; // 1000 cout << ar << endl; // 1000
Динамический массив заполнить псевдослучайными числами C++
Динамический массив заполняеться псевдо случайными числами но когда я их вывожу там числа типа -48484848 #include <time.h> using namespace std; int Quick_sort(int n); int main() { setlocale(LC_CTYPE,"Russian"); int num,rand_digit; cout << "Колво элементов: ";
C++ ошибка компиляции http://www.cyberforum.ru/cpp-beginners/thread666137.html
error: lvalue required as left operand of assignment for (int i=0; i<STRANDS_AMOUNT;i++) { int sum = 0; int k = 0; while(strands !='0') { if(strands='C'||strands='G') sum++; } if(maxValue<sum/strands.length())
C++ Дано вещественное x. Вычислить z = f( x ), не получается составить код Дано вещественное x. Вычислить z = f( x ) http://ms.sfu-kras.ru/file.php/59/Lab_5/image014.gif (только в выражении вторая часть не под корнем 3-й степени,а просто под корнем) я вот составлял программу, но что-то не получается, наставьте на путь истинный, чтобы все заработало как надо, заранее очень благодарен. #include "stdafx.h" #include <stdio.h> #include <math.h> подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован
08.10.2012, 15:57     класс vector ошибка в push_back()
vector
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <cstddef>
using namespace std;
class vector
    {
    public: 
    
    vector():size(1),sizemem(2),array(new int[sizemem]){for(size_t i=0;i!=size;++i)array[i]=0;}
    vector(int s):size(s),sizemem(s*2),array(new int[sizemem]){for(size_t i=0;i!=size;++i)array[i]=0;}
    vector(int s,int val):size(s),sizemem(s*2),array(new int[size]){for(size_t i=0;i!=size;++i)array[i]=val;}
    
    bool push_back(int val)
        {   
        if(size!=sizemem)
            {
            array[size]=val;
            ++size; 
            }
        else
            {
            int* arr2=new int[size];
            for(size_t i=0;i!=size;++i)arr2[i]=array[i];
            delete [] array;
            sizemem*=2;
            array(new int[sizemem]);/*ошибка*/
            for(size_t i=0;i!=size;++i)array[i]=arr2[i];            
            array[size]=val;
            ++size; 
            }   
            
        return 1;
        }
        
    int &operator[](const size_t index);
    const int &operator[](const size_t index)const;
    
    private:
    size_t size;
    size_t sizemem;
    int* array; 
    };  
    
int &vector::operator[](const size_t index)
    {
    if((index>=0)&&(index<=size))
        {
        return array[index];
        }
        else
        {
        cout<<"индекс не соответствует"<<endl;  
        return array[0];    
        }
    }
 
const int &vector::operator[](const size_t index)const
    {
    if((index>=0)&&(index<=size))
        {
        return array[index];
        }
        else
        {
        cout<<"индекс не соответствует"<<endl;  
        return array[0];    
        }
    }    
    
int main()
    {
    class vector v1(3,4);
    cout<<v1[2]<<endl;
    return 0;
    }

попытка написать класс vector. Только начал, уже косяк, не хочет работать.....
Выделил строчку комментарием, вроде удалил память динам, потом заново с этой переменной не хочет работать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru