void в параметре конструктора C++

110
17 октября 2021, 18:30

При изучении ООП возник вопрос по поводу конструкторов.

class A 
{
    public:
    A(void);// конструктор по умолчанию
    ~A(void);//деструктор 
};

Почему в параметрах конструктора и деструктора мы пишем void ?

Answer 1

Тема не имеет никакого отношения именно к конструкторам или деструкторам. Список параметров вида (void) означает, что у функции нет параметров. Это применимо к любым функциям. В С++ то же самое можно записать просто как ().

Так что никакой необходимости писать (void) нет. Я бы сказал, что такая манера записывать функции без параметров является в C++ весьма редкой (в отличие от C). В подавляющем большинстве случаев в C++ коде пишут именно (), а не (void).

Писать (void) в функциях без параметров может иметь смысл в кросс-компилируемых заголовочных файлах, компилируемых и как C++, и как C код. Но к случаю объявления методов классов эти соображения, разумеется, не применимы.

READ ALSO
Как правильно получить AddressOfEntryPoint?

Как правильно получить AddressOfEntryPoint?

Получаю адрес модуля и адрес функции main почему они не соответсвуют AddressOfEntryPoint?

171
min max двусвязного списка

min max двусвязного списка

Необходимо найти минимальный и максимальный элемент в списке и обеспечитить вывод элементов списка, которые находятся между максимальным...

142
создание бинарного дерева

создание бинарного дерева

Пишу функции ввода/ вывода бинарного дерева различными методами Но после ввода элементов(пока не 0) ничего не происходит, помогите разобраться,...

90
class c++ многофайловый проект

class c++ многофайловый проект

не могу скомпилировать многофайловый проект

106