Witam,
Sytuacja jest taka
class A
{
int a;
public:
A(int x=0)
{
a=x;
}
};
I teraz pytanie.
Mogę stworzyć obiekt tak
A a1(3);
Ale jeśli chce stworzyć
A a1;
// lub
A a2();
To wyskakuje mi błąd, dla konstruktora niby na starcie przypisuje wartość domyślną 0 więc nie bardzo wiem dlaczego mi to nie przechodzi. Wykładowca kazał dopisać x=0, co dopisałem ale wydaje mi się że kompletnie nic to nie daje. Bo teorytycznie miało to być po to aby przy inicjalizacji obiektu jak ktoś nie podał parametrów to automatycznie wrzuca tam 0.
Konstruktor ma parametr więc teorytycznie powinienem go tam podać. Ale w takim razie po co te zero ?
I teraz pytanie czy ja o czymś nie wiem czy źle zrozumiałem bądź źle mi to wytłumaczono.
Mogę dopisać kolejne konstruktory, ale czy da się to zrobić przy pomocy tego jednego ?