Código
typedef unsigned int longitud; // etc -> falta algo para que sea útil
Quisiera poder hacer algo parecido a lo anterior pero con una instancia de clase por ejemplo (pero no necesariamente) donde pueda hacer que el setter chequee si el valor es positivo y sino arroje una excepcion pero que internamente sea un entero y por tanto me habilite a: operaciones sin casting entre enteros y enteros-sin-signo (entre ellas las comparaciones)
A groso modo...... muy grosero claro..... quiero implementar con algo de azucar sintactica esto:
Código
#include <stdio.h> class Natural { private: int valor; public: void setVal(int v){ if (v<0){ printf("Error! %d no es un numero natural positivo! \n",v); exit(EXIT_FAILURE); } this->valor = v; } int getVal(){ return valor; } }; int main(){ Natural n; n.setVal(10); //if (n.getVal()==10) // someTask(); }
Quisiera poder usarlo asi:
Código
Natural n1 5; // declaro 5 de tipo Natural Natural n2 -3; // aca se lanzaria excepcion o error en tiempo de compilacion (de implementarse de alguna manera que no me imagino con macros que lo dudo)
Si pudiera la solucion servirme para C y no solo C++ genial.......