🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.c++
Article #16279

Re: operador []

#16279
From: Rafa Couto
Date: Thu, 02 Jan 1997 00:00
55 lines
1848 bytes
  30 Dec 96 10:00:01 GMT, "Xavi" <xaviv@arrakis.es>:

>La sobrecarga t�pica para el operador [] se utiliza para devolver un
>elemento concreto de una colecci�n almacenada en tu classe, alguien sabe si
>es possible definir-lo para modificar dicho elemento?
>Dicho con un ejemplo seria lo siguiente:
>	my_classe[i] = elemento

	Devolvi�ndolo por referencia... El caso m�s t�pico se usa para
devolver o asignar caracteres en una clase cadena:

-----

#include <string.h>	// strcpy(), strlen()
#include <iostream.h>	// cout::

class cadena {

  char* caracteres;

public:

  cadena (char* cad) { 
    caracteres = new char [strlen(cad)+1];
    strcpy(caracteres, cad); }

  ~cadena () { delete caracteres; }

  char& operator [] (const unsigned i) const { 
    return(caracteres[i]); } // acceso a los caracteres

  operator const char*() const { 
    return(caracteres); }  // cadena equivale a char*
};

// con este m�todo podr�s hacer cosas tan naturales como:

int main () {
  cadena MiCadena("Feliz 1996...");
  char letra = MiCadena[9];
  letra++;
  MiCadena[9] = letra;
  cout << MiCadena;
};

-----

	Saludos, Fw

--
Rafa Couto   (Santa Tecla)
<mailto:rcouto@arrakis.es> <http://www.arrakis.es/~rcouto>
snail-mail:  P.O. Box 24 // 36780 A Guarda (PO) // Spain
PGP Fingerprint: E6.BF.11.EF.FE.55.38.B1  CF.7E.93.80.58.E5.9F.A3
Technical Details
Message-ID: <32d0a10d.5616960@nntp.arrakis.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bbf638$1747bf00$207c4cc3@xavivarrakis>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f53ec,db36f7f567684856
X-Google-Attributes: gidf53ec,public
From: rcouto@arrakis.es (Rafa Couto)
Subject: Re: operador []
Date: 1997/01/02
Message-ID: <32d0a10d.5616960@nntp.arrakis.es>
X-Deja-AN: 207335002
references: <01bbf638$1747bf00$207c4cc3@xavivarrakis>
content-type: text/plain; charset=ISO-8859-1
organization: SantaTecla
mime-version: 1.0
newsgroups: es.comp.lenguajes.c++