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

Podejście obiektowe, klasy

Object Storage Arubacloud
–1 głos
362 wizyt
pytanie zadane 1 lipca 2016 w C i C++ przez DragonCoder Nałogowiec (36,500 p.)

Dobry wieczóe, zmieniłęm moje pliki na podejście obiektowe i mam problem. Mam 2 pliki 

.h

#ifndef opponent_h
#define opponent_h
#include<iostream>

class opponent
{
  public:
    string name_opponent;
    int life_opponent;
    int damage_opponent;
    int deffence_opponent;
    int drop_money_opponent;
    int exp_opponent;

      life_opponent=life;
      deffence_opponent=deffence;
      exp_opponent=exp;
      damage_opponent=damage;
      name_opponent=name;
      opponent(string name,int life, int damage, int deffence, int money, int exp);
};

#endif

i .cpp

#ifndef opponent_h
#define opponent_h
#include<iostream>
#include "opponents.h"

chicken oppon("Chicken", 1,1,1,1000,1000);
#endif

i kompilator pokazuje mi błąd>D:\krzytsian\gierka skrot\opponents.cpp|6|error: 'chicken' does not name a type|

Myśl, że robie wszystko dobrze (nie jestem pewien jest zmęczony i już śpie na siedząco :D), jeżeli robie błąd to proszę o naprowadzenie. Dziękuje i miłego wieczorku :)

komentarz 1 lipca 2016 przez Patrycjerz Mędrzec (192,320 p.)
Pomyśl chwilę... logi kompilatora nie gryzą.

Z kolei ta klasa to jakiś potwór Frankensteina - jest źle skonstruowana.
komentarz 1 lipca 2016 przez DragonCoder Nałogowiec (36,500 p.)
edycja 1 lipca 2016 przez DragonCoder
Jak źle? Chodzi o to że jeat całkowicie dostępna, powinnno być privat: a konstruktor public? Tak nie zauważyłem, jestem poprostu głupi. Dziękuje, ale jeżeli nie mam racji z klasą, chodzi o konstrukcje, to nie wiem gdzie jest problem, ale zaraz sprawdzę. EDIT: Wstawiłem nie to co trzeba. Zamiast chicken oppon jeat opponent chicken (); i wszystko w class public.

1 odpowiedź

+1 głos
odpowiedź 1 lipca 2016 przez Yiome Obywatel (1,000 p.)
edycja 1 lipca 2016 przez Yiome

To co znajduje się w .cpp nie ma całkowicie żadnego sensu. Z tego co rozumiem powinno znaleźć się tam ciało konstruktora a tworzysz coś bardzo dziwnego. Polecam zrobić coś takiego.

 opponent::opponent(string name,int life, int damage, int deffence, int money, int exp)
{
// i tutaj piszesz co ma się dziać po stworzeniu obiektu np.
this->name=name;
}

 

komentarz 1 lipca 2016 przez DragonCoder Nałogowiec (36,500 p.)
Czyli dłuższy zapis, jak raz tak zrobiłem to polecono mi zrobić to w taki sposób. Tak zapomniałem dac class i public na początku
1
komentarz 1 lipca 2016 przez Yiome Obywatel (1,000 p.)
Obawiam się że wciąż nie wiesz co się tutaj dzieje. Polecam dokładne zapoznanie się z tymi materiałami (czasem trzeba zrobić to wielokrotnie, wiem co mówię):

https://www.youtube.com/watch?v=w2BQUXf91ZA

https://www.youtube.com/watch?v=oNgs9LeiIqw

Podobne pytania

+1 głos
0 odpowiedzi 5,388 wizyt
0 głosów
1 odpowiedź 135 wizyt
0 głosów
1 odpowiedź 432 wizyt

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...