Podstawy programownia – laboratorium
Katedra Podstaw Informatyki
mgr inż. Barbara Fryc
1
Laboratorium nr 6
Programowanie obiektowe w C++. Definicja klasy, konstruktorów,
destruktora. Tworzenie obiektów
P
RZYKŁAD
:
D
EFINICJA KLASY
.
T
WORZENIE OBIEKTÓW
#include<iostream.h>
#include<string.h>
class Color {
//początek definicji klasy
private:
int r;
int g;
//
składniki klasy
int b;
char name[20];
public:
Color (){
//definicja konstruktora bezparametrowego
r=255; g=255; b=255;
strcpy (name, “biały”);
}
//definicja konstruktora z parametrami
Color (int c_r, int c_g, int c_b, char *n){
r=c_r; g=c_g, b=c_b;
strcpy (name, n);
}
~Color() {
//definicja destruktora
cout<<”Destruktor”;
}
//metoda
void setColor(int c_r, int c_g, int c_b
){
r=c_r; g=c_g, b=c_b;
}
//metoda
char* getName(){ return name;}
};
void main()
{
//utworzenie obiektu o nazwie biały przy pomocy konstruktora bezparametrowego
Color bialy;
Color nowy;
//utworzenie obiektu o nazwie nowy
//utworzenie obiektu o nazwie czarny przy pomocy konstruktora z parametami
Color czarny(0, 0, 0, “czarny”);
cout<<czarny.getName(); //wywołanie metody getNAme() na rzecz obiektu czarny
nowy.setColor(12, 14, 34); //wywołanie metody setColor na rzecz obiektu //nowy
}
Podstawy programownia – laboratorium
Katedra Podstaw Informatyki
mgr inż. Barbara Fryc
2
Z
ADANIA
1. Opracować klasę Osoba:
class Osoba
{
private:
char imie[20];
char nazwisko[20];
int wiek;
public:
2. Opracować funkcje składowe klasy Osoba:
- konstruktor bezparametrowy:,
Osoba();
- konstruktor (przeciążony) o następującym prototypie:
Osoba(char *i, char *n, int w);
- destruktor
~Osoba();
- funkcję wpisującą informacje o imieniu, nazwisku i wieku do odpowiednich składników
void zapamiętaj(char *n, char *n, int w);
- funkcję wypisującą na konsoli dane składowe (informacje o osobie)
void wypisz();
- funkcje zmieniającą pojedyncze pola struktury
void zmien_imię(char *i);
void zmien_nazwisko (char *n)
void zmien_wiek(int w);
Przed rozpoczęciem wykonywania poleceń w kolejnych punktach instrukcji, dokładnie przetestować to co już
zostało zrobione! Na przykład:
void main()
{
Osoba Janek;
Przetestować funkcję wypisujące informacje o osobie i funkcje zmieniające dane osoby.:
Janek.zapisz("Jan", "Nowak",7);
Janek.wypisz();
Janek.zmien_imie("Marek");
Janek.wypisz();
Janek.zmien_nazwisko("Nowe");
}
3. Opracować funkcje globalną w programie, która będzie wywoływana z jednym argumentem będącym
obiektem klasy osoba. Zadaniem tej funkcji jest wyświetlenie na konsoli komunikatu " Przedstawiam państwu
Szanownego Gościa: Imię Nazwisko i Wiek". W miejscu Imię i Nazwisko powinno zostać wyświetlone imię,
nazwisko i wiek osoby będącej argumentem funkcji. Wypisanie danych o osobie odbywa się przy użyciu
funkcji wypisz() będącej składnikiem klasy.
void prezentacja(osoba ktos);
4. Przetestować działanie funkcji prezentacja(osoba).