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

Как скопировать объект с удаленным копирующим конструктором? - C++

Восстановить пароль Регистрация
 
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
21.02.2014, 00:15     Как скопировать объект с удаленным копирующим конструктором? #1
Здравствуйте. Я использую SFML и делаю биндинги к Lua на основе luabind. Суть такова: в скрипте lua делается инстанс класса sf::Window. Над ним делаются некоторые манипуляции. Потом мне необходимо из скрипта взять этот объект в С++ программу. Но вот незадача: используется конструктор копирования и оператор присваивания, которые удалены с этого класса. И получается, что я вообще не могу достучатся до этого объекта с С++ программы. Быть может, есть какой то хак, который решает даную проблему? Переписывать заново все не очень то хочется. Буду благодарен за помощь.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 00:15     Как скопировать объект с удаленным копирующим конструктором?
Посмотрите здесь:

C++ Как создать объект с конструктором в интерфейсе другого класса?
Как объявить глобальную ссылку на клас с конструктором, принимающим один параметр C++
Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? C++
класс с конструктором как он тут работает? C++
как написать программу, к примеру, класс шаблон выводящая дин. массив любого типа, с конструктором и деструктором... C++
C++ Как повторно проинициализировать переменную конструктором?
Как скопировать объект класса C++
C++ Как вызвать другой конструктор для уже созданного объекта конструктором по умолчанию?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
21.02.2014, 08:44     Как скопировать объект с удаленным копирующим конструктором? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
coloc, так вы создайте производный класс от него и добавьте нужные вам конструктор копирования и перегрузку присвоения.
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
#include <iostream>
#include <string>
 
class Parent {
    private:
        std::string name;
 
        Parent(const class Parent&);
        Parent& operator = (const class Parent&);
 
    public:
        Parent() : name("<NAME>") { ; }
        Parent(const std::string& theName) : name(theName) { ; }
 
        void setName(const std::string& name) {
            this->name = name;
        }
 
        const std::string& getName() const {
            return name;
        }
};
 
class Child : public Parent{
    public:
        Child(const class Parent& parent) {
            setName(parent.getName());
        }
 
        Parent& operator = (const class Parent& parent) {
            setName(parent.getName());
            return *this;
        }
};
 
int main () {
    Parent parent("first test");
 
    std::cout << parent.getName() << std::endl;
 
    Child child(parent);
 
    std::cout << child.getName() << std::endl;
 
    parent.setName("second test");
    child = parent;
 
    std::cout << child.getName() << std::endl;
 
    return 0;
}
Или я вас не правильно понял?
Yandex
Объявления
21.02.2014, 08:44     Как скопировать объект с удаленным копирующим конструктором?
Ответ Создать тему
Опции темы

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