Thread View: pl.comp.objects
1 messages
1 total messages
Started by jar... Jaroslaw Milczek
Fri, 08 Dec 1995 00:00
Re: Przeciazanie rzutowania na typ (char*)
Author: jar... Jaroslaw Milczek
Date: Fri, 08 Dec 1995 00:00
Date: Fri, 08 Dec 1995 00:00
44 lines
1925 bytes
1925 bytes
At 12:26 95-12-08 +0100, Adam Grabara wrote:
>Otorz istnieje sobie klasa String. Klasa ta ma przeciazony
>operator char*() <- nie spotkalem sie nigdy z czyms takim.
Jest to zwyczajny operator konwersji typu String na typ char*,
zadeklarowany wewnatrz klasy String.
>Jesli ktos wie na czym polega takie przeciazenie to bylbym
>wdzieczny:)
Polega to na tym, ze obiekt typu String jest zamieniany na adres
zakonczonego nullem stringu (czyli najprawdopodobniej pola "data"
obiektu String).
>A sprowadza sie to do tego, ze probujac wydostac zawartosc
>klasy String np. za pomoca:
>String* pstr = new String("Jakis tekst");
>char* zmienna = (char*)*pstr;
^
zapis niewlasciwy (nie zgadzaja sie typy)
>lub
>char* zmienna = pstr;
>lub
>char* zmienna = (char*)pstr;
>
>otrzymuje komunikaty:
>cannot casting from String;
>lvalue required itp...
>W kazdym razie nie potrafie teko wyciagnac z tej klasy.
Moze jest tam dookola jakis balaganik? Poniewaz klasa String ma operator
castujacy na char*, kompilator nie powinien protestowac w ten sposob.
>Przeciazenie operatora w klasie String zwraca po prostu adres
>bufora.
Chyba o to powinno chodzic.
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|| Jaroslaw Milczek || Jar...@InfoService.com.pl ||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|| Muros erigunt *** Mores neglegunt ||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads