From MJanik
(Difference between revisions)
|
|
| Line 1: |
Line 1: |
| - | Grupa poniedziałek 14:00 - 16:00
| |
| | | | |
| - | [http://www.if.pw.edu.pl/~majanik/data/JP/2012/Zadanie7.Uczen.1.pdf Laboratorium 7 ]: klasa Uczen (operator =, new, delete, pierwszy Makefile)
| + | Zadanie przykładowe: |
| | | | |
| | + | == Pole statyczne == |
| | + | |
| | + | '''Proszę napisać klasę figura posiadającą (oddzielne pliki .cpp i .h!):''' |
| | | | |
| - | Grupa wtorek 8:00 - 10:00
| + | - n - liczbę boków |
| | | | |
| - | [http://www.if.pw.edu.pl/~majanik/data/JP/2012/Kolokwium_testowe.pdf Laboratorium 7 ]: klasa Owoc (tablica dynamiczna char*) oraz klasa Vector (pole statyczne i dodatki)
| + | - d - długość boku |
| | + | |
| | + | - color - kolor (string) |
| | + | |
| | + | - count - ilość figur - *static*! |
| | + | |
| | + | |
| | + | metody: |
| | + | |
| | + | - konstruktor. Domyślnym kolorem jest czerwony, a domyślna liczba boków to 3. Stworzenie nowej figury powinno zwiększać pole count o 1. |
| | + | |
| | + | - ZmienKolor(string new_color); |
| | + | |
| | + | - ZmienLiczbeBokow(int new_b); |
| | + | |
| | + | oraz metodę statyczną wypisującą ilość figur (count) - [static void wypisz_count()] |
| | + | |
| | + | |
| | + | W klasie main: |
| | + | |
| | + | Najpierw użyć funkcji wypisz_count (bez deklaracji obiektu klasy!). |
| | + | |
| | + | Następnie proszę stworzyć w klasie main 3 figury: |
| | + | |
| | + | figura f1(4, "zielona"); |
| | + | figura f2(8, "niebieska); |
| | + | figura f3; |
| | + | |
| | + | Następnie wypisać wartość pola count dla klasy figura. (wypisz_count) |
| | + | |
| | + | |
| | + | Następnie stworzyć klasę Tablica_Figur, zawierającą pole: |
| | + | |
| | + | figura * fig_tab; |
| | + | |
| | + | z konstruktorem przyjmującym maksymalną liczbę figur (N) |
| | + | |
| | + | Tablica_Figur(int) |
| | + | |
| | + | oraz odpowiednim destruktorem. |
| | + | |
| | + | |
| | + | Konstruktor powinien tworzyć tablicę N czerwonych trójkątów i przypisywać wskaźnik fig_tab pod tak stworzoną tablicę (operator new!) |
| | + | |
| | + | Destruktor powinien odpowiednio zwalniać pamięć. |
| | + | |
| | + | |
| | + | Należy następnie zadeklarować tablicę_figur dla 5 nowych figur. |
| | + | |
| | + | Należy wypisać wartość pola count dla klasy figura. (wypisz_count) |
| | + | |
| | + | |
| | + | Jak działa pole statyczne? Jaką zaletę ma funkcja statyczna? |
Revision as of 12:58, 7 November 2025
Zadanie przykładowe:
Pole statyczne
Proszę napisać klasę figura posiadającą (oddzielne pliki .cpp i .h!):
- n - liczbę boków
- d - długość boku
- color - kolor (string)
- count - ilość figur - *static*!
metody:
- konstruktor. Domyślnym kolorem jest czerwony, a domyślna liczba boków to 3. Stworzenie nowej figury powinno zwiększać pole count o 1.
- ZmienKolor(string new_color);
- ZmienLiczbeBokow(int new_b);
oraz metodę statyczną wypisującą ilość figur (count) - [static void wypisz_count()]
W klasie main:
Najpierw użyć funkcji wypisz_count (bez deklaracji obiektu klasy!).
Następnie proszę stworzyć w klasie main 3 figury:
figura f1(4, "zielona");
figura f2(8, "niebieska);
figura f3;
Następnie wypisać wartość pola count dla klasy figura. (wypisz_count)
Następnie stworzyć klasę Tablica_Figur, zawierającą pole:
figura * fig_tab;
z konstruktorem przyjmującym maksymalną liczbę figur (N)
Tablica_Figur(int)
oraz odpowiednim destruktorem.
Konstruktor powinien tworzyć tablicę N czerwonych trójkątów i przypisywać wskaźnik fig_tab pod tak stworzoną tablicę (operator new!)
Destruktor powinien odpowiednio zwalniać pamięć.
Należy następnie zadeklarować tablicę_figur dla 5 nowych figur.
Należy wypisać wartość pola count dla klasy figura. (wypisz_count)
Jak działa pole statyczne? Jaką zaletę ma funkcja statyczna?