Можно ли создать конструктор с аргументами по умолчанию. Что-то вроде этого
Object(int size = 1) {
//SMTH
}
Я пытаюсь сделать это в визуальной студии, но появляется ошибка. Можно ли создать конструктор с аргументами по умолчанию или остается только использовать перегрузку?
РЕДАКТИРОВАТЬ
Возможно, извините за отправку этого вопроса, я новичок в c++. Проблема заключалась в том, что я объявлял аргумент default в исходном файле (cpp), я изменил свой класс, как это, и он отлично работает.
class MyClass
{
public:
MyClass (int i = 0, std::string s = ""); // constructor declared
private:
int x;
int y;
std::string z;
};
MyClass :: MyClass(int i, std::string s) // constructor defined
{
x = 100;
y = i;
z = s;
}
Да, возможно иметь конструкторы с аргументами по умолчанию.
Два оговорки в отношении вашего конкретного примера:
explicit
чтобы он не использовался для неявного преобразования из int
в Object
.