Skocz do zawartości
Jaaa

Klasy W C++ Czy Ktos Ma Na Tyle Wiedzy?

Rekomendowane odpowiedzi

Witam otoz na laborce dostalismy takie zadanko.ja nie mam pojecia za bardzo jak to zrobic.prosze o pomoc moze ktos ma glowe do tego i moglby pomoc :):).prosze sie odezwac w razie gdyby ktos mial moze taki programik albo moze umialby(chcialoby mu sie:):) napisac.pozdrowionka.

 

Ćwiczenie 3: Konstruktory i Destruktory

 

 

 

 

 

1) Utworzyć klasę której danymi są 3 liczby typu int. W tej klasie zdefiniować:

 

- konstruktor bezparametrowy, który jedynie poinformuje o swoim działaniu

 

- konstruktor, który zainicjuje dane, przy czym użytkownik może podać 2 albo 3 argumenty (czyli jeden z argumentów konstruktora musi być argumentem domniemanym)

 

- konstruktor kopiujący

 

- konstruktor definiujący konwersję z typu double – pod jedno z pól klasy podstawi część całkowitą liczby rzeczywistej, pozostałe dwa pola wypełni zerami

 

- destruktor, który poinformuje o swoim działaniu

 

- funkcję, która wypisze zawartość obiektu (te trzy liczby) w jednej linii

 

 

 

UWAGA: wszystkie konstruktory i destruktor mają informować o swoim działaniu !!!

 

 

 

W programie utworzyć:

 

- obiekt utworzonej klasy (z inicjacją wartości pól)

 

- drugi obiekt tej klasy poprzez skopiowanie pierwszego obiektu

 

- tablicę 3 obiektów tej klasy za pomocą operatora new (bez inicjacji)

 

- obiekt tej klasy przez skopiowanie stałej rzeczywistej

 

 

 

Po każdej deklaracji napisać w komentarzu, który konstruktor został wykorzystany.

 

Wypisywać na ekranie zawartości obiektów bezpośrednio po ich utworzeniu. Sprawdzić, czy destruktor jest wywoływany tyle razy co konstruktory.

 

 

 

2) Utworzyć klasę zawierającą bufor tekstowy oraz zmienną naturalną określającą długość bufora. W klasie zdefiniować:

 

- konstruktor

 

- konstruktor kopiujący

 

- destruktor

 

- funkcję wyprowadzającą długość i zawartość bufora na ekran.

 

 

 

Wszystkie konstruktory i destruktor mają informować o swoim działaniu.

 

 

 

W programie utworzyć:

 

- zainicjowany obiekt tej klasy

 

- drugi obiekt tej klasy poprzez skopiowanie pierwszego obiektu

 

 

 

Wypisać na ekran zawartość obu obiektów.

 

 

 

Zwrócić uwagę na to, aby destruktor prawidłowo zwalniał przydzieloną pamięć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

taaak jasneee.kazdy jest taki madry i pisze tylko:"ojej jakie to latwe".cwaniaki.mowic to sobie moze kazdy....ze to latwe i w ogole.ale jak juz tzreba cos zrobic to juz wtedy nikogo nie ma.jak to jest taki banal to czemu nikt nie napisze jak to zrobic????

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Co mam niby zrobić? Podesłać Ci wykład? Podać link do google?

Pierwszy lepszy wykład z pierwszej lepszej uczelni powinien załatwić sprawę.

 

Skoro masz zostać informatykiem, to naucz się tego, bo to bardzo ważne, zamiast czekać na gotowce. Studia informatyczne nie są dla osób, które chcą przez to przebrnąć - one są dla pasjonatów. Skoro wybrałeś taki kierunek, to kształć się!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

bo:

a ) trzeba chodzic a wykłądy a nie na same laborki tylko :D - wtedy bedziesz wiedział jak zrobić konstruktor...

b ) to jest sprzeczne z regulaminem tweaka.. a jeśli nie sprzeczne to przynajmniej na granicy złamania prawa :)

c ) to było tak dawno... że nie pamietam :D

 

class CMojaKlasa{private: int a,b,c;public:  //konstruktory  CMojaKlasa();  CMojaKlasa(int,int,int);			// tu mozna podac tez nazwy zmiennych  CMojaKlasa(CMojaKlasa);		  CMojaKlasa(double);  ~CMojaKlasa() {cout<<"jam jest destruktorem i zniszczylem obiekt tej klasy :twisted: ";};  void GetABC() {cout<<a<<" "<<b<<" "<<c<<nline;};};CMojaKlasa::CMojaKlasa(){  cout<<"konstruktor bezparametrowy to ja\n";}CMojaKlasa::CMojaKlasa(int a1,int b1=5,int c1=10){  a=a1;	//tu ustawiane są atrybuty klasy, jesli nie podamy b1 i c1   b=b1;   // to zostaną ustawione 5 i 10  c=c1;  cout<<"konstruktor inicjujacy z domyslnymi argumentami to ja\n";}CMojaKlasa::CMojaKlasa(CMojaKlasa obiekt){  a=obiekt.a;  b=obiekt.b;  c=obiekt.c;  cout<<"konstruktor kopiujacy to ja\n";}CMojaKlasa::CMojaKlasa(double liczba){  a=(int)liczba;  b=c=0;  cout<<"konstruktor konwertujacy double do inta to ja\n";}//---------------------------------------------------------------------void main(){  CMojaKlasa ob1(1,2,3);   // z inicjacjom pól - konstruktor zz parametrami	ob1.GetABC();  CMojaKlasa ob2(ob1);	 // konstruktor kopiujacy ob1 do ob2	ob2.GetABC();  CMojaKlasa tablica[]=new CMojaKlasa(3*sizeof(CMojaKlasa)); // tego nie jestem pewien bo ostatnio zajmuje sie JAVĄ...  CMojaKlasa ob3(f2.45);   // konwersja	ob3.GetABC();  cout<<"\n\nCopyright by PelzaK - a tweak member :)";}

gdzieś mogą sie pojawić błędy.. nie mam kompilatora wbudowane niestety w oko :), reszte mussiz zrobić sam :wink:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hehe dla pasjonatow.....taaa.kazdy ma swoje zdanie ale niewazne.Dzieki Pelzak bo jako jedyny chyba zrozumiales tresc tego posta.tzn. ja sie pyatm czy ktos moze pomoc a nie o to czy studia informatyczne sa dla pasjonatow czy nie.ludzie!!czytajcie o co sie rozchodzi a nie z nudow wypisujecie jakies pouczenia.jeszcze raz dzieki Pelzak.a tak poza tym to juz w sumie nieaktualny post bo znalazlem czlowieka ktory potrafil to zrobic.spoko koles.pozdrawiam.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hehe dla pasjonatow.....taaa.kazdy ma swoje zdanie ale niewazne.Dzieki Pelzak bo jako jedyny chyba zrozumiales tresc tego posta.tzn. ja sie pyatm czy ktos moze pomoc a nie o to czy studia informatyczne sa dla pasjonatow czy nie.ludzie!!czytajcie o co sie rozchodzi a nie z nudow wypisujecie jakies pouczenia.jeszcze raz dzieki Pelzak.a tak poza tym to juz w sumie nieaktualny post bo znalazlem czlowieka ktory potrafil to zrobic.spoko koles.pozdrawiam.

sa dla pasjonatow - z mojej grupy - 47 osob na starcie zostalo teraz 24 - w ktorej czesci swojej grupy chcesz byc? :>

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...