• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konstruktory - czy to prawidłowy przykład ich zastosowania?

0 głosów
102 wizyt
pytanie zadane 24 października 2016 w C i C++ przez użytkownika Konrad Nabożny Stary wyjadacz (13,120 punkty)

Witam. Uczę się konstruktorów. Czy programik który napisałem prawidłowo wykorzystuje ich możliwości? 

plik.cpp

#include <iostream>
#include "konstruktory.h"

using namespace std;

void Konstruktor::wypisz()
{
    int aktualna_liczba = 1;
    int pomocnicza;

    for (int i=1; i<=ile; i++)
    {
        pomocnicza = i*i;
        if (i<10)
        {
            cout<<" "<<i<<" | "<<pomocnicza<<endl;
        }
        else
        {
            cout<<i<<" | "<<pomocnicza<<endl;
        }
    }
}
void Konstruktor::wpisz()
{
    cout<<"Ile kolejnych liczb? ";
    cin>>ile;
}

Konstruktor::Konstruktor(int a)
{
    ile = a;

    wpisz();
    wypisz();
}

Konstruktor::~Konstruktor()
{
    cout<<"Pamiec zostala zwolniona";
}

 

plik.h

#include <iostream>

using namespace std;

class Konstruktor
{
    int ile;

    public:

    Konstruktor(int ile = 1);
    ~Konstruktor();

    void wypisz();
    void wpisz();
};

 

plik main.cpp

#include <iostream>
#include "konstruktory/konstruktory.h"

using namespace std;

int main()
{
    Konstruktor();

    return 0;
}

 

komentarz 24 października 2016 przez użytkownika JAKUBW Dyskutant (9,570 punkty)

To jest programik? To nic nie robi,wiec nie ma co sprawdzać. Nie rozumiem jedynie tego:

int main()
{
    Konstruktor();
 
    return 0;
}

 

komentarz 24 października 2016 przez użytkownika Konrad Nabożny Stary wyjadacz (13,120 punkty)
Jak to nic nie robi? Wywołuje w sobie dwie metody zawarte w klasie o nazwie Konstruktor, które pobierają dane które są przeliczane i wypisywane na ekranie..

1 odpowiedź

+1 głos
odpowiedź 26 października 2016 przez użytkownika tinwepl Użytkownik (990 punkty)
Hej :)

Trochę myląca nazwa klasy,ale postaram się wyjaśnić jakie tutaj popełniono błędy.

Pierwszą rzecz to najlepiej jest napisać private: int ile; dla innego programisty ułatwienie(wiem,że to z automatu idzie)

W pliku cpp postaraj się rozpisywać funkcje od Konstruktora do innych funkcji , dzięki temu już można będzie się zorientować wstępnie co dana klasa będzie robiła co wykorzystuje.

Po co wrzucać funkcje które stworzyłeś w obiekcie do konstruktora? Zostawić tylko przypisanie zmiennych. I później:

Konstruktor mojKonstruktorek; // domyślnie ile będzie 1;

mojKonstruktorek.wpisz();

mojKonstruktorek.wypisz();

Podobne pytania

0 głosów
1 odpowiedź 53 wizyt
pytanie zadane 3 grudnia 2016 w C i C++ przez użytkownika Slajni Dyskutant (8,640 punkty)
+1 głos
0 odpowiedzi 170 wizyt
0 głosów
1 odpowiedź 59 wizyt
pytanie zadane 24 grudnia 2016 w Java przez użytkownika nemezisso Użytkownik (860 punkty)
...