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

Передача существующего объекта вместо создания нового - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как вызвать конструктор с параметрами в конструкторе без параметров? http://www.cyberforum.ru/cpp-beginners/thread1236513.html
Как вызвать конструктор с параметрами в конструкторе без параметров? То есть что бы конструктор с параметрами выступал в роли основного. В одном классе, пример: class Test { private: int value; public: Test() { Test(5);
C++ Собрать многофайловый проект в Turbo C++ (ошибка Linker error Undefined symbol f (int) in module) Столкнулся с проблемой, сам не ожидал. Вот три файла main.cpp #include <iostream.h> #include <conio.h> #include "menu.h" int main(){ clrscr(); http://www.cyberforum.ru/cpp-beginners/thread1236509.html
C++ Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
подскажите пожалуйста, есть ли возможность в char массив часть данных ввести в буквах, а часть в цифрах (или в любой другой массив вбить значения обоих типов)
C++ Какую книгу из приведенного списка стоит прочесть?
Привет всем помогите пожалуйста! я начинающий программист я немного знаю VB6 но я хочу изучить C++ из этих книги какой надо читать: 1.Visual C++.NET для чайников автор. Майкл Хаймен, Боб Арнсон 288 стр. ISBN 5-8459-0326-2 2.С++ для чайников(4-изд) автор. Девис, Стефан Р. 337стр. ISBN5-8459-0160-Х 3.C/C++ в задачах и примерах автор. Культин Н.Б 288 стр. ISBN5-94157-029-5 4.СиШарп:Создание...
SFML Sfml, как вставить картинку? http://www.cyberforum.ru/cpp-beginners/thread1236397.html
2д игра, как заместь закрешеных блоков поместить туда тайл, ну то есть картинку в rectangle.setFillColor(Color::Black); void Map::loadmap(String TileMap,float offsetX, float offsetY) { RectangleShape rectangle( Vector2f(64, 64)); for (int i=0; i<H; i++) for (int j=0; j<W ; j++)
C++ Сократить количество символов кода #include <fstream> using namespace std; int main(){ifstream f("input.txt"); ofstream c("output.txt"); int a,m,q,r=0; f>>a; for(int i=0;i<a;i++) {f>>m; }f>>q; while(q) подробнее

Показать сообщение отдельно
QGuest
8 / 8 / 0
Регистрация: 08.01.2013
Сообщений: 85
31.07.2014, 02:08     Передача существующего объекта вместо создания нового
Есть класс Word. Он неизменяемый: все методы - константные.
Учитывая это я пытаюсь создать класс таким образом чтобы вместо создания нового объекта Word передавался уже созданный и сохраненный объект с такими-же параметрами. Такой способ, к примеру, используется в Java с классом String (String pool in Java).

Пример кода, что я имею в виду.
C++
1
2
3
Word word1 = "some";
Word word2 = "some";
cout << (&word1 == &word2); //правда. Один и тот-же обьект
Вот класс (его фрагмент) Word:
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
class Word {
private:
    const string& data;
    
    Word(const string& data) : data(data) {}
 
    vector<Word> pool;
 
public:
 
    Word& operator=(const string& data) {
        for (int i = 0; i < pool.size(); i++) {
            if (pool[i].data == data) return pool[i];
        }
 
        Word result(data);
        pool.push_back(result);
        return result;
    }
 
    operator const string&() const {
        return data;
    }
};
 
void main() {
    Word word = "some";
    cout << word;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru