Как при загрузке элемента своего класса в функцию задать ему значение по умолчанию вызвав конструктор по умолчанию?
тоесть вот пример кода:
как в методе poiskel дать параметру s значение по умолчанию вызвав для него конструктор по умолчанию?
если написать s = 0 то он вызовет конструктор с параметром х
template <typename I>
struct Banka
{
I x;
Odpisok<I> next;
Banka()
{
x = 0;
next = 0;
}
Banka(I a,const Odpisok<I>& b)
{
x = a;
next = b;
}
~Banka()
{
}
friend Odpisok<I>;
};
template <typename I>
struct Odpisok
{
Odpisok()
{}
Odpisok(I x)
{
Odpisok<I> b;
a = new Banka<I>(x, b);
}
Odpisok(const Odpisok& b)
{
a = b.a;
}
//код
const Odpisok& poiskel(const Odpisok& s) const
{
if (a->next != s)
return (a->next).poiskel(s);
else
return *this;
}
//код
};
Ответы (1 шт):
Автор решения: EOF
→ Ссылка
Чтобы указать значение по умолчанию для аргумента функции, которое должно быть обьектом, созданным с помощью конструктора по умолчанию, то нужно явно вызвать этот конструктор для создания такого обьекта:
const Odpisok& poiskel(const Odpisok& s = Odpisok()) const