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

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

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

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
26.06.2010, 13:50     Опять конструкторы
допустим есть два класса.
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) {}
в отладке видно, что процесс создания охватывает все соответствующие конструкторы по иерархии.
Так вот собственно вопрос. Хорошо это или плохо, что у дочернего класса отсутствует собственный копи-конструктор, если его реализация ничем не отличается от копи-конструктора базового класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru