Witam
Napisałem pewniem program, który był dla mnie ćwiczeniem nauki kontruktorów i destruktorów działa całkowicie tak jakbym tego chciał. W kodzie poniżej zostały uwzględnione wskaźniki this
#include "p.h"
#include <iostream>
#include <math.h>
//aby referencja mogłać poprawnie musi być 'const'
Marka::Marka(const std::string & corp, double liczba) {this->nazwa = corp; this->kwota = liczba;
std::cout << "Podaj nazwe auta: " << nazwa << " Podaj kwote: " << kwota << "\n"; }
//potegowanie liczby przeciażenie nazwy konstuktora
Marka::Marka(double liczba) { this->kwota=liczba; std::cout << kwota *pow(2,4) << "\n"; }
//wyswietenie tekstu
Marka::Marka(const std::string & corp) { this->nazwa=corp; std::cout << nazwa << "\n\n"; }
Marka::~Marka() { std::cout << "Zakończenie pracy obiektu !!!\n"; }
int main()
{
Marka samochodu("Bentley", 1333.22);
Marka podatek = Marka(235.12);
Marka * asap_nigga = new Marka("Like a Boss"); // przydzial dynamiczny
delete asap_nigga; //nie użycie delete powoduje, że obiekt dalej istnieje po zakończeniu programu
return 0;
}
W poniższym już nie :
#include "p.h"
#include <iostream>
#include <math.h>
//aby referencja mogłać poprawnie musi być 'const'
Marka::Marka(const std::string & corp, double liczba) {nazwa = corp; kwota = liczba;
std::cout << "Podaj nazwe auta: " << nazwa << " Podaj kwote: " << kwota << "\n"; }
//potegowanie liczby przeciażenie nazwy konstuktora
Marka::Marka(double liczba) { kwota=liczba; std::cout << kwota *pow(2,4) << "\n"; }
//wyswietenie tekstu
Marka::Marka(const std::string & corp) { nazwa=corp; std::cout << nazwa << "\n\n"; }
Marka::~Marka() { std::cout << "Zakończenie pracy obiektu !!!\n"; }
int main()
{
Marka samochodu("Bentley", 1333.22);
Marka podatek = Marka(235.12);
Marka * asap_nigga = new Marka("Like a Boss"); // przydzial dynamiczny
delete asap_nigga; //nie użycie delete powoduje, że obiekt dalej istnieje po zakończeniu programu
return 0;
}
Problem albo "nie problem" polega na tym, że w przypadku użycia jak i nie kompilator i tak odwołuję się poprawnie do składowych klasy.
Tak więc jaki sens jest ich używania (Ogólnie !) ??