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

Написание класса Vector - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны положительные числа A, B, C. (While) http://www.cyberforum.ru/cpp-beginners/thread1112636.html
Даны положительные числа A, B, C. На прямоугольнике размера A × B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике. Операции умножения и деления не использовать. Решить через while
C++ Создание и отображение данных в документе Кто может помочь - скажите, пожалуйста, почему в конце происходит аварийное завершение программы. Просто не могу понять, почему если в конце использовать функцию show_f, то программа вылетает. А если не использовать, то всё работает. #include "stdafx.h" #include <iostream> #include <string.h> #include <time.h> #include <stdlib.h> #include <iomanip> #include <fstream> http://www.cyberforum.ru/cpp-beginners/thread1112633.html
C++ Шаблон и программа использующая этот шаблон
Требуется создать шаблон функции "бинарное дерево". Использовать его для сортировки целых чисел и строк, задаваемых с клавиатуры или из файла.. Заранее благодарю .=)
C++ Не компилируется 64-битная DLL из 32-битного проекта
Добрый день! У меня есть проект MS VS2010 Prof+WinDDK7600, 32-битная DLL принтпроцессора. Во время печати спулер системы ее вызывает, и она определенным образом модифицирует печатаемые данные. Т.е. по сути делает хук в системе для перехвата печати из стандартных средств Windows. DLL нормально компилируется и работает. Но мне нужно собрать 64-битную версию, чтобы принтпроцессор мог работать...
C++ БлэкДжэк http://www.cyberforum.ru/cpp-beginners/thread1112597.html
Помогите пожалуйста до делать игру БлэкДжэк #include <iostream> #include <iomanip> #include <ctime> #include <windows.h> using namespace std; enum ConsoleColor {Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray, DarkGray, LightBlue, LightGreen, LightCyan, LightRed, LightMagenta, Yellow, White }; void SetColor(int text, int background) {
C++ Расставить корабли в игре Морской Бой вот сделал игру морсой бой не могу раставить корабли помогите за рание спасибо #include <iostream> #include <iomanip> #include <ctime> #include <conio.h> #include <windows.h> using namespace std; enum ConsoleColor {Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray, DarkGray, подробнее

Показать сообщение отдельно
biruld
0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 12
06.03.2014, 13:34  [ТС]     Написание класса Vector
Цитата Сообщение от Extrim88 Посмотреть сообщение
biruld, не пойму, а зачем вам определять методы erase() и insert() так, чтобы они возвращали *this? Ведь они и так получают доступ к элементам данных объекта, посредством которого они вызываются. Не проще ли сделать тип возвращаемого значения у этих методов void? А уж если нужно будет присвоить один вектор другому (а скорее всего без этого не обойтись) перегрузить еще операцию = для вашего класса Vector?
я не понимаю, чем это проще для меня один фиг что через войд, что через вектор и this.
Присваивание можно перегрузить, но зачем?
У меня назрел еще один вопрос. Моя задача выдает какую-то глобальную ошибку в смысле брейкается на середине. Вот конечный код:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
class Vector
{
    double *v;
    int N;
public:
    Vector (int len)
    { v=new double [len];
      N=len;
    }
 
    ~Vector () { delete [] v;}
 
    Vector (const Vector &temp)
    {
        N=temp.N;
        v=new double [temp.N];
        for (int i=0; i<N; i++)
        {
            v[i]=temp.v[i];
        }
    }
 
    double &operator [] (int temp)
    {return v[temp]; }
 
    Vector insert (double k)
    { 
        double *m;
        m=new double [N+1];
        for (int i=0; i<N; i++)
        {
            m[i]=v[i];
        }
        m[N]=k;
        delete [] v;
        v=new double [N+1];
        for (int i=0; i<N; i++)
        {
            v[i]=m[i];
        }
        delete [] m;
        return *this;
    }
 
    Vector erase (int i, int j)
    {
        double *m;
        m=new double [N-j+i-1];
        for (int p=0; p<=i; p++)
        {
            m[p]=v[p];
        }
        for (int p=j; p<N; p++)
        {
            m[p]=v[p];
        }
        delete []v;
        v=new double [N-j+i-1];
        for (int p=0; p<N-j+i-1; p++)
        {
            v[p]=m[p];
        }
        delete []m;
        return *this;
    }
 
friend istream& operator>> (istream &is, Vector &temp);
friend ostream& operator<< (ostream &os, Vector &temp);
 
 
 
 
 
 
};
 
istream& operator>> (istream &is, Vector &temp)
{
    for (int p=0; p<temp.N; p++)
    {
        is>>temp.v[p];
    }
    return is;
}
 
ostream& operator<< (ostream &os, Vector &temp)
{
    for (int p=0; p<temp.N; p++)
    {
        os<<temp.v[p];
    }
    return os;
}
 
int main ()
{
    Vector a(10);
    cin>>a;
    a.insert(100);
    cout<<a;
    a.erase(5,7);
    cout<<a;
    _getch();
}
 
Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru