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

Перегрузка "opеrator =" и "{ }" для собственного класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заголовочный файл http://www.cyberforum.ru/cpp-beginners/thread1165355.html
Доброго времени суток! Ситуация такая: хочу, исходя из функции, создать заголовочный файл. Но, увы, не умею создавать их. Хотелось бы пример посмотреть на основе, желательно с пояснениями. И как их связать, что и куда кидать. #include <fstream> #include <iostream> using namespace std; void arize(char* login; char* pass){ cout << "Логин:...
C++ Не создаются узлы дерева Приветствую! Может быть кто-нибудь мог бы мне помочь? Суть задания в том. чтобы построить бинарное дерево, и с его помощью читать шифр. то есть 0 - шаг влево. 1 - шаг вправо. В каждом листе есть определённый текст. Шифр безпрефиксный. Собственно. сама программа есть. но в функции чтения шифра выкидывает ошибку. вроде как не существует листа. из которого надо читать текст, но честно говоря.... http://www.cyberforum.ru/cpp-beginners/thread1165352.html
Заменить символы в строке (ASCII) C++
Есть строка с некоторым набором символов: string consoleText = "Здесь должен быть текст"; Возможно ли заменить какой-либо символ на другой во всей строке без использования циклов?
Как функции присвоить значение false? C++
Пишу крестики-нолики и в конце когда пользователь нажимает "Начать сначала" игра начинается сначала (цикл do-while), но в течении этого цикла функция win()(осуществляет проверку на победу и возвращает true/false) принимает значение true и повторный запуск пропускает этот участок кода (почти вся игра) Пример: do { оператор1; оператор2; оператор n; while( !win() ) {
C++ Метод сопряженных градиентов http://www.cyberforum.ru/cpp-beginners/thread1165332.html
Здравствуйте! Помогите, пожалуйста, разобраться с программой по методу сопряженных градиентов Писала-писала и в конец запуталась :( Программу писала вот для такой функции: {x}_{2} + 5{y}_{2} + 8{z}_{2} - xy + xz - yz + 5x - 3y + z Программу прикрепляю ниже в zip-файле. Ответ должен получиться: x= (-2.6028, -0.0198, 0.1050)
C++ Регистрация и авторизация пользователя - можно ли оптимизировать код Можно ли как-то упростить такой код, или это - то что нужно? Простенькие до ужаса регистрация пользователя и авторизация. #include <fstream> #include <iostream> using namespace std; int main(){ setlocale(LC_ALL, "Russian"); подробнее

Показать сообщение отдельно
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
06.05.2014, 09:48     Перегрузка "opеrator =" и "{ }" для собственного класса
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
#include <iostream>
 
template <class vectorType>
class vector
{
    private:
        size_t vectorSize;
        vectorType *ptrVector;
 
    public:
        vector()
        {
            vectorSize = 0;
            ptrVector = nullptr;
        }
 
        vector(const vector &copyVector)
        {
            vectorSize = copyVector.vectorSize;
            ptrVector = new vectorType [vectorSize];
            for (size_t i = 0; i < vectorSize; i++) {
                ptrVector[i] = copyVector.ptrVector[i];
            }
        }
 
        vector(size_t _vectorSize, vectorType initializedValue = 0)
        {
            vectorSize = _vectorSize;
            ptrVector = new vectorType [vectorSize];
            for (size_t i = 0; i < vectorSize; i++) {
                ptrVector[i] = initializedValue;
            }
        }
 
        vector(std::initializer_list <vectorType> list)
        {
            size_t i = 0;
            vectorSize = list.size();
            ptrVector = new vectorType[vectorSize];
            for (auto iterator : list) {
                ptrVector[i++] = iterator;
            }
        }
 
        size_t size()
        {
            return vectorSize;
        }
 
        vector &operator = (const vector &copyVector)
        {
            vectorSize = copyVector.vectorSize;
            ptrVector = new vectorType[vectorSize];
            for (size_t i = 0; i < vectorSize; i++) {
                ptrVector[i] = copyVector.ptrVector[i];
            }
        }
 
        vectorType &operator [] (size_t index) {
            return ptrVector[index];
        }
 
        ~vector()
        {
            delete [] ptrVector;
            ptrVector = nullptr;
        }
};
 
int main()
{
    vector <int> firstVector = { 1, 2, 3, 4, 5, 6 };
    std::cout << "First vector: " << std::endl;
    for (size_t i = 0; i < firstVector.size(); i++) {
        std::cout << firstVector[i] << ' ';
    }
    std::cout << std::endl;
 
    vector <int> secondVector(firstVector);
    std::cout << "Second vector: " << std::endl;
    for (size_t i = 0; i < secondVector.size(); i++) {
        std::cout << secondVector[i] << ' ';
    }
    std::cout << std::endl;
 
    vector <int> thirdVector = secondVector;
    std::cout << "Third vector: " << std::endl;
    for (size_t i = 0; i < thirdVector.size(); i++) {
        std::cout << thirdVector[i] << ' ';
    }
    std::cout << std::endl;
 
    std::system("pause");
    return 0;
}
 
Текущее время: 14:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru