Форум программистов CodeGuru
23 Август 2017, 06:15:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Конструктор копирования по умолчанию  (Прочитано 7495 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NewUser5555
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 04 Март 2015, 13:48:35 »

Код:
    class A
    {
        public int a;
        public int b;
        /// ...
        public int y;
        public int z;
    }

    class B : A
    {
        public B(A _a)
        {
            // base = _a; //как без лишних усилий присвоить значения базовому классу
        }

        public int aa;
        /// ...
        public int zz;
    }

В классе А не реализован конструктор копирования.
В конструктор класс B в качестве параметра передается экземпляр родительского класса A
Как без лишних усилий присвоить значения базовому классу?
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 05 Март 2015, 01:37:14 »

Может быть можно сделать в A конструктор копирования, принимающий ссылку на A и вызвать его через base из конструктора B ?

или так как нибудь (в C# я не силен):

Код:
    class A
    {
        public A(A _a)
        {
            a = _a.a;
            b = _a.b;
            // ...
        }

        public int a;
        public int b;
        /// ...
        public int y;
        public int z;
    }

    class B : A
    {
        public B(A _a) : base(_a)
        {
            aa = 0;
            // ...
        }

        public int aa;
        /// ...
        public int zz;
    }
« Последнее редактирование: 05 Март 2015, 01:41:23 от 3V » Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!