Cześć.
Jak zaimplementować "self operator"? Chodzi mi o coś takiego:
template <typename T>
class contains_self_op{
T val{};
public:
explicit contains_self_op(T t) : val(t) {};
~contains_self_op() = default;
T operator self(){
return T;
}
};
int main(){
contains_self_op<bool> name(0);
if(name) do sth;
}
-------------------------------------
To działa, choć nie wiem czy jest dobre:
template <typename T>
class contains_self_op{
T val{};
public:
explicit contains_self_op(T t) : val(t) {};
~contains_self_op() = default;
operator T(){
return val;
}
};
int main(){
contains_self_op<bool> name(0);
if(name) do sth;
}
(żeby nie musieć w klasie implementować gettera, bodajże std::optional ma coś takiego)
Z góry dzięki.
Pozdrawiam.