Article View: es.comp.lenguajes.c++
Article #97Re: Crear clase dígito.
From: R.G.A.M.
Date: Mon, 05 May 2008 18:43
Date: Mon, 05 May 2008 18:43
40 lines
2801 bytes
2801 bytes
On 5 mayo, 02:43, Zara <me_z...@dea.spamcon.org> wrote:
> On Thu, 1 May 2008 16:25:02 -0700 (PDT), "R.G.A.M."
>
> <rgam1...@yahoo.com.ar> wrote:
> >Me gustaría saber cómo puedo diseñar un objeto de la misma naturaleza
> >que la clase "int", salvo que sólo abarque los números del 0 al 9,
> >para poder trabajar únicamente con dígitos, sin derrochar memoria.
>
> Podrías usar un enumerado:
>
> enum digito {CERO,UNO,TRES,CUATRO,CINCO,SEIS,SIETE,OCHO,NUEVE};
>
> Eso garantiza que el compilador aplicará cuantas optimizaciones
> considere necesarias en cuanto a tamaño del dato y tamaño del código
> que crea necesarias, en función de la sopciones de compilación.
>
> Pero recuerda: No se realiza en ningún monento la comprobación de
> rango. Si quieres que el rango semantenga, puedes sobrecargar los
> operadores, por ejemplo:
>
> digito operator+(const digito primero, const digito segundo) {
> int suma=static_cast<int>(primero)+static_cast<int>(segundo);
> return static_cast<diigto>(suma%10);
>
> }
>
> saludos,
>
> Zara
Muchas gracias por tu respuesta, Zara. La tuya me ayudó a aclarar la
duda que tenía.
Me veía tentado a usar algún enumerado, pero me temía que ocupara la
misma memoria que el entero, y simplemente asignara nombres a algunos
particulares.
Agradezco también la corrección de Pascal. Desde la próxima, tendré
más cuidado con los conceptos que menciono.
Technical Details
Message-ID:
<74ed8089-08e8-4c2c-be64-321f51fba6fe@r66g2000hsg.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!r66g2000hsg.googlegroups.com!not-for-mailReferences:
<b8d26aa2-7a81-4015-b46c-65bf259d1ceb@b1g2000hsg.googlegroups.com> <mc7t14pbh4ev1kf4lhknbcvunvb0e0s6ef@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f53ec,2b546618fd129871 X-Google-Attributes: gidf53ec,domainid0,public,usenet X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!r66g2000hsg.googlegroups.com!not-for-mail From: "R.G.A.M." <rgam1989@gmail.com> Newsgroups: es.comp.lenguajes.c++ Subject: Re: Crear clase dígito. Date: Mon, 5 May 2008 11:43:59 -0700 (PDT) Organization: http://groups.google.com Lines: 40 Message-ID: <74ed8089-08e8-4c2c-be64-321f51fba6fe@r66g2000hsg.googlegroups.com> References: <b8d26aa2-7a81-4015-b46c-65bf259d1ceb@b1g2000hsg.googlegroups.com> <mc7t14pbh4ev1kf4lhknbcvunvb0e0s6ef@4ax.com> NNTP-Posting-Host: 190.52.151.94 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1210013039 11543 127.0.0.1 (5 May 2008 18:43:59 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 5 May 2008 18:43:59 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r66g2000hsg.googlegroups.com; posting-host=190.52.151.94; posting-account=ksKnmQoAAACqYRXoipOreV_LoD1elWTg User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.12;MEGAUPLOAD 1.0,gzip(gfe),gzip(gfe)