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

Programowanie obiektowe c++

0 głosów
316 wizyt
pytanie zadane 26 marca 2021 w C i C++ przez NoelQ Nowicjusz (190 p.)

Dzień dobry, mam problem z programem który napisałem, czy mógłby ktoś mi pomóc?

Chciałem napisać symulację, nigdy wcześniej nie pisałem obiektowo w cpp więc zacząłem pisać wszystko w jednym pliku, w pewnym momencie uznałem, że jest tego za dużo i się zacząłem gubić, więc chciałem napisać obiektowo ten program. Czy mogę jakoś mając plik Gatunek.h, napisać Gatunek.cpp w którym mógłbym zapisać 3 różne gatunki zwierząt (Gatunek gA, Gatunek gB, Gatunek gC) i uzupełnić je wszystkie w tym pliku Gatunek.cpp czy muszę wszystkie osobno uzupełniać w pliku main.cpp wywołując gA.wprowadzDane(), gB.wprowadzDane, gCwprowadzDane?


// Gatunek.h

#include <iostream>
#include <string>
using namespace std;
#ifndef PROJEKTZALICZENIE_GATUNEK_H
#define PROJEKTZALICZENIE_GATUNEK_H


class Gatunek {
public:
    string nazwa;
    int glod;
    int szybkosc;
    int obrazenia;
    int zdrowie;
    int ilosc;

    void wprowadzDane();

    void zmienDane();
};


#endif //PROJEKTZALICZENIE_GATUNEK_H
//Gatunek.cpp

#include "Gatunek.h"
#include <iostream>
using namespace std;
string nazwa;
int glod;
int szybkosc;
int obrazenia;
int zdrowie;
int ilosc;

int zmianaStat = 0;


void Gatunek::wprowadzDane() {

    Gatunek gA;
    gA.nazwa="Wszystkozerny";
    gA.nazwa = "Wszystkozerny";
    gA.glod = 50;
    gA.szybkosc = 2;
    gA.obrazenia = 2;
    gA.zdrowie = 20;
    gA.ilosc = 10;

    Gatunek gB;
    gB.nazwa = "Roslinozerny";
    gB.glod = 20;
    gB.szybkosc = 1;
    gB.obrazenia = 1;
    gB.zdrowie = 50;
    gB.ilosc = 30;

    Gatunek gC;
    gC.nazwa = "Miesozerny";
    gC.glod = 100;
    gC.szybkosc = 3;
    gC.obrazenia = 3;
    gC.zdrowie = 100;
    gC.ilosc = 5;
    cout<<gA.nazwa;
}

Więc chciałbym się zapytać czy mogę w pliku Gatunek.cpp wpisać w ten czy w podobny sposób dane?

komentarz 26 marca 2021 przez tkz Nałogowiec (42,040 p.)

Tak z grubsza, ten kod jest bezsensu. 

#include <iostream>
#include <string>

class Gatunek 
{
    std::string nazwa;
    int _glod;
    int _szybkosc;
    int _obrazenia;
    int _zdrowie;
    int _ilosc;
public:

 
    void ustawGlod(int glod)
    {
        _glod = glod;
    }
    void ustawSzybkosc(int szybkosc)
    {
        _szybkosc = szybkosc;
    }
    //reszta istawien w ten sposob 
    int wezSzybkosc()
    {
        return _szybkosc;
    }
};

int main()
{
    Gatunek a;
    a.ustawSzybkosc(2);
    std::cout<<a.wezSzybkosc();
    Gatunek b; 
    b.ustawSzybkosc(5); 
    std::cout<<b.wezSzybkosc();
}

I staraj się używać anglojęzycznych nazw. 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 296 wizyt
pytanie zadane 5 marca 2021 w Java przez Beginner555 Bywalec (2,090 p.)
0 głosów
1 odpowiedź 351 wizyt

93,632 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...