• Nie Znaleziono Wyników

Konwersja i dziedziczenie

N/A
N/A
Protected

Academic year: 2021

Share "Konwersja i dziedziczenie"

Copied!
2
0
0

Pełen tekst

(1)

Uniwersytet Zielonogórski

Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Informatyka stacjonarne-dzienne pierwszego stopnia z tyt. inżyniera

Laboratorium Programowania Obiektowego

Konwersja i dziedziczenie

1. Dane są następujące szkielety klas:

c l a s s X { p u b l i c :

v i r t u a l f ( v o i d ) ; f 1 ( v o i d ) ;

} x , ∗px ;

c l a s s Y: p u b l i c X { p u b l i c :

v i r t u a l f ( v o i d ) ; f 1 ( v o i d ) ;

} y , ∗py ;

Które z powyższych zestawów przypisań jest poprawny, wyjaśnić dlaczego:

a) x=y; py=px;

b) y=x; py=px;

c) x=y; px=py;

d) px=py; y=x;

2. Dane są następujące klasy c l a s s A{ } ;

c l a s s B{ } ; c l a s s C{ } ;

c l a s s X: p u b l i c A, p u b l i c B{ } ; c l a s s Y: p u b l i c X, p u b l i c C{ } ;

Jaka jest kolejność aktywowania destruktorów podczas usuwania obiektu klasy Y;

3. Zadeklaruj klasę podstawową oraz klasy pochodne, tak aby odzwierciedlały poniższy graf:

Punkt

Kwadrat Okrąg Trójkąt

Prostokąt Elipsa

©©©©* - HHHHj

- HHHj -

Każda z klas ma posiadać zadeklarowaną funkcję wyświetlającą figurę o nazwie rysuj(). Zdefiniować obiekty i napisać przykładowe wywołania tej funkcji.

4. Zadeklaruj klasę podstawową oraz klasy pochodne, tak aby odzwierciedlały następujący graf:

Pojazd{int a,b;}

Samochód

Łódź

Amfibia

©©©©* HHHHj

@@R

©©©©*

public private

public public

(2)

Zrealizować ćwiczenie bez i z uwzględnieniem klas wirtualnych. Zdefiniować obiekty i napisać przy- kładowe wywołania funkcji. Jaki jest dostęp do zaznaczonych zmiennych w klasach pochodnych?

5. Dane są klasy:

class A{private: int a;};

class B{protected: int b;};

class C{public: int c;};

class D: protected A, public B {};

class E: public D, protected C {public: A::c;};

class F: private E, public A {};

Zrealizować następujące ćwiczenia:

a) odtworzyć diagram dziedziczenia,

b) określić kolejność wywoływania konstruktorów dla każdej z klas, c) określić rodzaj dostępu do zmiennych a, b, c w klasach D, E i F . 6. Dane są szkielety klas:

class motocykl{/*...*/} M, *wsk_M;

class Honda: public motocykl {/*...*/} H, *wsk_H;

class Ducati: public motocykl {/*...*/} D, *wsk_D;

class Składak: public Honda, public Ducati {/*...*/} S, *wsk_S;

Które z poniższych zestawów instrukcji są błędne, a które poprawne i dlaczego?

a) M=H;wsk_H=wsk_M; b) D=M;wsk_D=wsk_M; c) M=H;wsk_M=wsk_H;

d) H=S;wsk_M=wsk_S; e) D=H;wsk_H=wsk_S; f) M=S;wsk_S=&D;

7. Dana jest klasa:

class licz_zesp{

float Re,Im;

};

oraz funkcja operatorowa licz_zesp operator+(licz_zesp,licz_zesp). Zdefiniować konstruk- tor konwertujący tak, by poprawne były wyrażenia:

licz_zesp z1,z2;

float a=2.5;

z1=z2+a; z2=a+z1;

Litertura

• Grębosz J.,Symfonia C++ standard, Edition 2000, 2008

• Grębosz J., Pasja C++, Edition 2000, 200

• Stroustrup B., Język C++, Wydawnictwa Naukowo-Techniczne 1994, 2000 i 2002

• Eckel B., Thinking in C++. Edycja polska, Helion , 2002

Cytaty

Powiązane dokumenty

Funkcjonalność klasy definiujemy przy pomocy metod, czyli funkcji zdefiniowanych wewnątrz klasy (funkcji składowej), w następujący sposób:..

Do klasy Osoba oraz Adres musisz dodać właściwości przy pomocy, których będzie można uzyskać dostęp do pól klasy. Zabezpiecz program tak, aby nie można było utworzyć

Gdy pole statyczne jest zdefiniowane wewnątrz metody danej klasy możemy odwołać się do niego przy pomocy jego nazwy.. Nazwy tej nie można jednak poprzedzić słowem

Twoim zadaniem jest zaimplementowanie i przetestowanie hierarchii składającej się z następujących klas: Osoba, Student, Wykładowca oraz Stypendysta. Poszczególne

Twoim zadanie jest utworzenie programu, który wczytywałby dany zestaw, analizował go, a następnie generował raport w postaci pliku tekstowego, który

Serializacja (ang. Serialization) jest procesem konwersji stanu obiektu do postaci, która może być zachowana na dysku lub przesłana przez sieć komputerową.. Proces

Zapoznaj się ze wstępem teoretycznym dotyczącym technologii Active Server Pages dla platformy .Net (prowadzący zajęcia udostępni w tym celu materiały Microsoft IT Academy)..

Zapoznaj się ze wstępem teoretycznym dotyczącym kontrolek danych dla ASP.NET (prowadzący zajęcia udostępni w tym celu materiały Microsoft IT Academy).. Zadanie polega