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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Enfernuz
22 / 22 / 1
Регистрация: 11.04.2011
Сообщений: 67
#1

Конструктор копирования для класса с указателем на абстрактный класс - C++

16.11.2011, 21:11. Просмотров 923. Ответов 2
Метки нет (Все метки)

Всем привет.
Как реализовать конструктор копирования для класса Foo?
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
class Base
{
     public: 
             ...
             virtual void DoSmth() = 0;
};
 
class DerivedOne : public Base
{
      public: 
              ...
              virtual void DoSmth() { ... };
};
 
class DerivedTwo : public Base
{
      public: 
              ...
              virtual void DoSmth() { ... };
};
 
 
class Foo
{
     public:
             ...
     private:
             ...
             Base* b;
};
Заранее спасибо за ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 21:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструктор копирования для класса с указателем на абстрактный класс (C++):

Cделать конструктор по умолчанию и копирования для класса - C++
Вот у меня класс строка: class strg { char *str; int len; public: strg(); strg(const strg &); }; реализация:

Конструктор копирования для динамического объекта класса приемника - C++
class first_class { public: first_class(int q) { m_q=q; cout<<"First class say HI"<<endl; } ...

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования - C++
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс...

Будет ли утрачена память, когда конструктор копирования вызывается для уже существующего объекта класса? - C++
class A { char * v; A(); ~A(); A(const A &obj); } ///////////////////// A::A() {

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор - C++
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать конструктор по умолчанию, копирования и...

Создать конструктор копирования для класса "Прямоугольник" - C++
Всем привет! Помогите разобраться, пожалуйста! Есть такое задание: Определить класс "прямоугольник". Высчитать его...

2
Сыроежка
Заблокирован
16.11.2011, 21:17 #2
Цитата Сообщение от Enfernuz Посмотреть сообщение
Всем привет.
Как реализовать конструктор копирования для класса Foo?
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
class Base
{
     public: 
             ...
             virtual void DoSmth() = 0;
};
 
class DerivedOne : public Base
{
      public: 
              ...
              virtual void DoSmth() { ... };
};
 
class DerivedTwo : public Base
{
      public: 
              ...
              virtual void DoSmth() { ... };
};
 
 
class Foo
{
     public:
             ...
     private:
             ...
             Base* b;
};
Заранее спасибо за ответы.
Вы можете вообще его не реализовывать и использовать тот, который у вас есть по умолчанию. Проблема в том, что из той информации, которую вы предоставили, совершенно не ясно, как должен копироваться указатель на Base*. То ли должна создаваться идентичная копия этого указателя, то ли в куче вам нужно создавать объект, аналогичный тому, на который указывает указатель исходного объекта и указателю присваивать адрес этого объекта.

Если имеется в виду последний случай, то вам нужно писать функцию, которая имитирует собой виртуальный конструктор.
1
Enfernuz
22 / 22 / 1
Регистрация: 11.04.2011
Сообщений: 67
16.11.2011, 21:44  [ТС] #3
Сыроежка, вопрос в контексте второго варианта. Спасибо за подсказку.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 21:44
Привет! Вот еще темы с ответами:

Класс, конструктор-копирования - C++
Здравствуйте, я плохо знаю С++ и поэтому у меня возникла проблема с одной задачей, звучит она так: Разработать класс «Множество (целых...

Создать конструктор копирования класса - C++
Помогите создать конструктор копирования класса. Мне надо чтоб я в основной программе нажимал кнопку и она копировала введенные мной данные...

Конструктор копирования шаблонного класса - C++
Всем доброго времени суток! Язык С++ изучаю относительно недавно и столкнулся с задачей, которую не могу решить. Описываю шаблонный класс...

Класс матрица (не работает конструктор копирования) - C++
так вот,что-то глючит конструктор копирования, хотя ошибок компиляции не дает(( #include <fstream> #include <iostream> #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru