Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2011, 19:25   #21
Zorgan
Пользователь
 
Аватар для Zorgan
 
Регистрация: 26.08.2011
Сообщений: 16
По умолчанию

а как он действует в сочетании с Полиморфизм ?

я про конструктор :В объектно-ориентированном программировании конструктор класса (от англ. constructor, иногда сокращают ctor) — специальный блок инструкций, вызываемый при создании объекта.

Конструктор схож с методом, но отличается от метода тем, что не имеет явным образом определённого типа возвращаемых данных, не наследуется, и обычно имеет различные правила для рассматриваемых модификаторов. Конструкторы часто выделяются наличием одинакового имени с именем класса, в котором объявляется. Их задача — инициализировать члены объекта и определить инвариант класса, сообщив в случае некорректности инварианта. Корректно написанный конструктор оставит объект в «правильном» состоянии. Неизменяемые объекты тоже должны быть проинициализированы конструктором.

Термин «конструктор» также используется для обозначения одного из тегов, описывающих данные в алгебраическом типе данных. Это использование несколько отличается от описываемого в статье. Для дополнительной информации смотрите Алгебраический тип данных.

В большинстве языков конструктор может быть перегружен, что позволяет использовать несколько конструкторов в одном классе, причём каждый конструктор может иметь различные параметры.

Виды конструкторов конструктор по умолчанию — конструктор, не принимающий аргументов;
конструктор копирования — конструктор, принимающий в качестве аргумента объект того же класса (или ссылку из него);
конструктор преобразования — конструктор, принимающий один аргумент (эти конструкторы могут вызываться автоматически для преобразования значений других типов в объекты данного класса).

class Complex
{
public:
// Конструктор по умолчанию
// (в данном случае является также и конструктором преобразования)
Complex(double i_re = 0, double i_im = 0)
: re(i_re), im(i_im)
{}

// Конструктор копирования
Complex(const Complex &obj)
{
re = obj.re;
im = obj.im;
}
private:
double re, im;
};

и какой нужен ?
Zorgan вне форума Ответить с цитированием
Старый 29.08.2011, 10:59   #22
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Zorgan Посмотреть сообщение
а как он действует в сочетании с Полиморфизм ?
Конструктор ? Он не бывает виртуальным. Последовательно вызывается, сначала конструктор родителя, потом конструктор наследника и по цепочке.
Цитата:
Сообщение от Zorgan Посмотреть сообщение
и какой нужен ?
Для разных целей разный.
An1ka вне форума Ответить с цитированием
Старый 29.08.2011, 12:23   #23
Zorgan
Пользователь
 
Аватар для Zorgan
 
Регистрация: 26.08.2011
Сообщений: 16
По умолчанию

ну скажим для классов и под классов !

и как узнать их пораметры ???
Zorgan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полиморфизм MasterSporta Общие вопросы C/C++ 3 10.04.2011 23:46
полиморфизм и констркуторы blacktener Общие вопросы C/C++ 4 06.03.2011 15:47
полиморфизм slayerblya Общие вопросы C/C++ 1 27.02.2011 01:43
Полиморфизм mister2010 Общие вопросы C/C++ 30 24.05.2010 01:07