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

Опять конструкторы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет количества цифр в текстовом файле http://www.cyberforum.ru/cpp-beginners/thread149634.html
написать программу,которая в текстовом файле,состоящем из строк не более 60 символов,находит количество цифр
C++ Одномерые массивы Составить программу для подсчета наибольшего количества одинаковых элементов, расположенных последовательно, в массиве для каждого из одномерных массивов Х и Y. Инициализацию, вывод элементов... http://www.cyberforum.ru/cpp-beginners/thread149618.html
C++ Как извлечь корень из числа?
Как извлечь корень из числа?
C++ Функция rand();
Нужно чтобы функция rand(); выдавала значения в заданном интервале то есть к примеру от 230 до 233 нужно чтобы выдавало числа 230 231 232 233 изначально был такой код
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread149588.html
ХАРАКТЕРИСТИКОЙ СТОЛБЦА МАТРИЦЫ НАЗОВЕМ ПРОИЗВЕДЕНИЕ ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ С ЧЕТНЫМИ НОМЕРАМИ. УПОРЯДОЧИТЬ СТОЛБЦЫ МАТРИЦЫ ПО ВОЗРАСТАНИЯ ИХ ХАРАКТЕРИСТИК
C++ Описать функцию Описать функцию для вывода на экран натуральных чисел из файла целых чисел в восьмеричном виде,не используя printf Добавлено через 1 час 31 минуту Очень надо:) подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4945 / 2525 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1

Опять конструкторы - C++

26.06.2010, 13:50. Просмотров 707. Ответов 3
Метки (Все метки)

допустим есть два класса.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template <typename T = int>
class SkillBase
{
public:  // cd
   SkillBase(T val = 0) : m_value(val) {}
   SkillBase(const SkillBase &w) : m_value(w.m_value) {}
   virtual ~SkillBase() {}
 
private: // data
   T m_value;
};
 
// ATTACK
template <typename T>
class Attack : public SkillBase<T>
{
public: Attack(T val = 0) : SkillBase<T>(val) {}
};
Тогда при записи
C++
1
2
   Attack<int> d1(3);
   Attack<int> d2(d1);
В первом случае будет использован конструктор по-умолчанию (то есть это нормально), а как тогда срабатывает копирующий конструктор во втором случае? ведь он в принципе отсутствует.
Я так понимаю он генерируется автоматически, потому что при добавление в дочерний класс соответствующего копи-конструктора
C++
1
Attack(const Attack &w) : SkillBase<T>(w) {}
в отладке видно, что процесс создания охватывает все соответствующие конструкторы по иерархии.
Так вот собственно вопрос. Хорошо это или плохо, что у дочернего класса отсутствует собственный копи-конструктор, если его реализация ничем не отличается от копи-конструктора базового класса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru