Tag: CONSTRUCTOR-OVERLOADING
¿Por qué esto no es posible? class DBHelper { public: bool open(const char* filepath, const char* query = “”); private: bool open(const char* filepath); } Si quiero acceder a la función open(filepath) de mi librería desde otra clase, no se compilará, a pesar de que el compilador debería tomar la . . . Read more
Tengo la siguiente Factory: public class ChildFactory : IChildFactory { public Child? GetChild(ChildType childType) { switch (childType) { case ChildType.Boy: return new BoyChild() { }; case ChildType.Girl: return new GirlChild() { }; case ChildType.Undecided: return new UndecidedChild() { }; default: return null; } } } Cuando paso un ChildType para . . . Read more
He diseñado una clase de envoltorio más simple que añade una etiqueta a un objeto, con la intención de que sea convertible/reemplazable implícitamente por el objeto envuelto. #include <string> #include <type_traits> #include <utility> template < typename T, typename Key = std::string > class myTag{ T val; public: Key key; template . . . Read more
En el código anterior, recibo un objeto de tipo PPho y quiero recuperar el objeto Pho dentro del puntero compartido. ¿Cómo puedo hacer eso? Intenté acceder directamente al shared_ptr, pero es privado. Intenté desreferenciarlo dos veces. Luego intenté sobrecargar el operador de desreferenciación, pero no tuve éxito (el error también . . . Read more
Considere este fragmento de código: template <typename t=””> T abs(const T& n) { if (!std::is_signed<t>::value) throw logic_error; if (n < 0) return -n; return n; } Quiero prohibir por completo el uso de mi función con variables “unsigned”, ya que no tiene sentido y probablemente el usuario ni siquiera sabe . . . Read more