116 TIF

116 TIF



{


mJcbRozm = IcbRozm; m_lcbKawałek = IcbKawałek * IcbRozm;

}

};

Użycie argumentów domyślnych jest ładnym sposobem na zmniejszenie liczby potrzebnych konstruktorów. We fragmencie „Przed” umożliwiamy użytkownikowi skonstruowanie klasy bez podania parametru, z jednym parametrem lub z dwoma parametrami. W tym celu utworzyliśmy trzy konstruktory.

Zauważmy jednak, że powstały przy tym aż trzy różne metody, które trzeba ze sobą koordynować. Jeśli zmienimy algorytm w jednej z nich, to musimy się upewnić się, że zmiana zostanie wprowadzona w pozostałych dwóch. (Oczywiście, moglibyśmy utworzyć jakąś centralną prywatną funkcję, której używałyby wszystkie trzy konstruktory. Moglibyśmy też zadeklarować stałe dla różnych wartości, aby zmniejszyć możliwość utraty synchronizacji w obrębie tych konstruktorów. Chcemy jednakże pokazać, że znamy lepsze rozwiązanie.)

We fragmencie „Po” użyliśmy argumentów domyślnych, aby zmniejszyć liczbę konstruktorów z trzech do jednego. Mamy mniej kodu i mniejsze prawdopodobieństwo wystąpienia błędów, a program staje się też bardziej elegancki i czytelny.

Dygresja

Zauważmy, że w rozwiązaniu z argumentami domyślnymi argumenty podawane przez użytkownika są przypisywane kolejnym zmiennym od lewej do prawej. Nie można nakazać kompilatorowi, aby w wypadku niezapewnienia wszystkich argumentów, wartość domyślną otrzymały wskazane argumenty, tak jak można to zrobić w języku VBScript.

Przykład: klasa Drgbase w pliku drg.h

Tworzenie prywatnych konstruktorów

pisanie czytelnego kodu

Przed

class Napis

{

private:

const int m_cchTest; int m_cch; char *m_pch;

void lnicjNapis(const char *pch, int cch); public:


Wyszukiwarka

Podobne podstrony:
skanuj0032 (116) ftS Grafika menedżerska i prezentacyjnaZakończenie pracy nad schematem Gdy schemat
img116 116 Aby udowodnić, że część wspólne dowolnej Ilości zbiorów domkniętych jest domknięta, należ
terminy tif 576 Sieci i AR. MAR i IŻ, JA - protokoły komunikacyjne jest podzielona na dwa typy: rt
Inżynieria finansowa Tarcz6 116 Innowacje finansowe jako atrybut... że wartość rynkowa financial f
72154 skanuj0190 (7) przekonać, aby opuścił krzesło. Użycie siły fizycznej jest niedozwolone. Siedzą
Save0006 TIF c. Kolorystyka 22.    Krvteriami oceny obci_enia monotypowo_ci_ jest: a.
42626 skanuj0062 (38) Kaligrafia łączona (renmen-tai) znaków kany Kaligrafia łączona z użyciem małeg
terminy tif 576 Sieci i AR. MAR i IŻ, JA - protokoły komunikacyjne jest podzielona na dwa typy: rt
115 TIF Przykład: klasa String w pliku String.cpp Zobacz także: Wskazówki 69., 70. i 71.Argumenty do
CCF20090523006 tif KARL R. POPPER przystąpię do formułowania moich argumentów. Tym sposobem będziec

więcej podobnych podstron