Другие языки программирования и технологии

Вопрос по С++. Что значит конструктор в теме Классы? CountDn() : Counter()-это он?

AT
Asqarov Timur
326
Конструктор - это метод который вызывается при создании объекта класса.
Н-р, у вас есть класс:
class Dog
{
Dog() // <- конструктор
{ /*...*/ }
}

Dog myDog = new Dog(); Вот на этом моменте и вызывается конструктор (правая часть).
Конструктор нужен для того, чтобы подготовить класс к дальнейшей работе с ним. Он может принимать параметры и вызывается автоматически. Возвращаемого значение не имеет (нельзя там так int Dog(); тип просто не указывается; да ведь он и не нужен).

Так же конструктор вовсе не обязателен. И их может быть несколько. Но это уже другая тема - перегрузка конструкторов.
Сергей Фомин
Сергей Фомин
4 490
Лучший ответ
class SomeClass
{
SomeClass() {} // Конструктор - не имеет возвращаемого типа, имя совпадает с именем класса
};
IA
Ivan Adamachi
44 389
Нет. CountDn::Counter()- это метод класса. Констуктор это специальная синтаксическая конструкция, специальный метод класса, вызывается при создании объекта класса. Вот документация:
-1- Constructors do not have names. A special declarator syntax using an optional function-specifier (dcl.fct.spec) followed by the constructor's class name followed by a parameter list is used to declare or define the constructor. In such a declaration, optional parentheses around the constructor class name are ignored. [Example:

class C {
public:
C(); // declares the constructor
};

C::C() { } // defines the constructor

--- end example]
В сигнатуре конструктора обязательно присутствует имя класса со скобками () с параметрами или без.
Anvar Aliev
Anvar Aliev
36 000