088

088



Można użyć informacji o typach, uzyskiwanej podczas wykonywania programu, aby dowiedzieć się czegoś więcej o klasie wskazywanej przez wskaźnik. Informacje o typach dla polimorficznych klas będą generowane tylko wtedy, gdy jest włączona opcja /GR kompilatora.

Dygresja

Użycie informacji o typach wprowadza duże dodatkowe obciążenie. Ogólnie lepiej unikać używania tych informacji, chociaż może być ona użyteczna w trakcie usuwania usterek.

Poleganie na informacji o typach, uzyskiwanej podczas wykonywania programu może też wpędzić nas w kłopoty. Zazwyczaj rzutowanie wskaźnika do klasy podstawowej na wskaźnik do klasy pochodnej jest złym pomysłem, ponieważ łatwo wywołać nieistniejące metody lub próbować uzyskać dostęp do nieistniejących zmiennych. Informacja o typach, uzyskiwana podczas wykonywania programu pozwala osiągnąć to bezpiecznie, ale raczej nie należy tego robić. Prawie zawsze istnieje inna metoda uzyskania tego samego efektu. Ogólnie należy unikać używania instrukcji dynamic_cast.

Jednym z łatwych sposobów uzyskania informacji o typie bez włączania informacji o typach uzyskiwanej podczas wykonywania programu, jest wywodzenie każdej klasy ze wspólnej klasy podstawowej, której konstruktor uzyskuje informacje o typie z klasy pochodnej. To może służyć tylko do celów naprawczych w trakcie usuwania usterek.

Przykład: TextRegExp() w pliku regexp.cpp

Przeciążanie operatora przypisania podczas przydzielania pamięci

unikanie nieoczekiwanych wyników

Przed

class Napis

{

private:

const int m_cchTest; int m_cch; char *m_pch; public:

Napis(void) : m_cch(0), m_cchTest(10)

{

m_pch = NULL;


Wyszukiwarka

Podobne podstrony:
Można użyć informacji o typach, uzyskiwanej podczas wykonywania programu, aby dowiedzieć się czegoś
045 4 Podczas wykonywania programów w trybie DNC, zmienianie trybów jest niedozwolone. Jeśli chcesz
P1050443 i KONDUKTOMETRIA Podczas wykonywania pomiaru należy stosować się ściśle do instrukcji obsłu
37 (329) Koszty pracy maszyn leśnych Podczas wykonywania danej operacji, składającej się z kilku czy
skanuj0303 (2) Rozdział 11. ♦ Więcej o SQL 317 Której funkcji należy użyć, aby dowiedzieć się, jaka
System pyta się użytkownika o szybką jazdę. Aby dowiedzieć się dlaczego system zadał takie pytanie,
024 (13) Kurs Podstawowy SIMAT1C S7 2.3.1. Pierwszy program. Aby zapoznać się z zasadami zapisu prog
Rozdział 24Przenośność programów •Jak dowiedziałoś się z poprzednich rozdziałów tego
*    Zastosowanie programów wspomagania projektowania podczas wykonywania rysunk
P3020265 I Alternatywnie można użyć polecenia whos aby otrzymać dokładniejszą I informację z wielkoś
s518 518 Poznaj Linux Do czego przydaje się find podczas konserwacji systemu Polecenia find można uż
Treści programowe 1.    Technologie informacyjne mediów (W. Gogołek) Podczas wykładu
informator ezaminacyjny007 Etap pisemny egzaminu3.2. Wskazywać zagrożenia występujące podczas wykony

więcej podobnych podstron