Мне интересно, возможно ли иметь оператора в неэлементном родительском классе с авто возвращающимся значением и шаблоном дочернего класса?[code]#include #include class parent{ public: virtual ~parent(){}; auto & operator()(const int i); }; template class child:public parent{ protected: std::vector X_; public: child(std::vector const &X):X_{X}{}; T & operator()(const int i){ return(X_[i]); } }; auto & parent::operator()(const int i){ if(auto * x=dynamic_cast(this)){ return((*x)(i)); }else if(auto * x=dynamic_cast(this)){ return((*x)(i)); }else{ throw std::string("error"); } }; int main(){ child Y1(std::vector{5,10}); child Y2(std::vector{6,11}); std::cout
Я наткнулся на этот интересный факт, в то время как мне нужно было найти, является ли текущий кадр/окно наиболее верхним или нет. Я понял, что window.top! == Window сделает трюк. Однако после игры с ним еще несколько минут стало очевидным, что...
Я узнаю об использовании шаблонных функций, а также о указателях функций в C ++, и пытаюсь достичь следующего поведения:
template
T plus(T n1, T n2) {
return n1 + n2;
}
template
void do_oper(Oper op, bool b) {
if (b) {
op(3, 5);
} else {...