Izvedene klase u containeru glavne klase

Izvedene klase u containeru glavne klase

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Napisano: 05 Apr 2010 1:57

Pozdrav,opet ja sa pocetnickim pitanjem,ali ne znam sta da trazim.

imam mapu <string,GameObject*>

e,sad,kad u nju ubacujem GameObject-e sve je ok,problem nastaje kad pokusam da ubacim klasu Ship (koja je izvedena od klase GameObject) u tu mapu. Code::Blocks mi prijavljuje gresku : "GameObject is inaccessible base of Ship". Na koji nacin ovo da sredim ima li neko ideju ? Embarassed

Dopuna: 09 Apr 2010 19:17

Posto vidim da niko ne odgovara,mozda ce pomoci da bolje objasnim moj problem Razz
Copy/paste je sa stranog foruma,nadam se da nije problem sto je na engleskom Very Happy

I started making a game in C++ and i'm stuck at this point.

1. I have class GObject (thats game object class,with x,y coordinates,sprite info etc)
2. I have Ship and its base class is GObject (class Ship : GObject)
3. I have map<string,GObject*> which "contains" all game objects so i can draw,update and do stuff with them.

Now,here is the problem: when i put:
gameObjects["first"] = new Ship(15,20,"sprite_name");

I get this error (i'm using Code::Blocks on linux) : 'GObject' is inacessible base of 'Ship'.

Here are ship and gobject files. Maybe it will help Smile :

Ship.h
#ifndef SHIP_H_INCLUDED #define SHIP_H_INCLUDED #include "GObject.h" #include <string> #include <SDL.h> class Ship : GObject {     public:     Ship(int,int,std::string);     virtual void KeyDown(Uint8*); }; #endif // SHIP_H_INCLUDED

Ship.cpp
#include <string> #include "Ship.h" Ship::Ship(int x,int y,std::string ime) : GObject(x,y,ime) { } void Ship::KeyDown(Uint8* kstates) {     if (kstates[SDLK_UP]) x += 10; }

GObject.h
#ifndef GOBJECT_H_INCLUDED #define GOBJECT_H_INCLUDED #include <string> #include <SDL.h> #include <cstdlib> class GObject {     public:         GObject(int,int,std::string);         virtual void KeyDown(Uint8*);         int x, y;         std::string spritename; }; #endif // GOBJECT_H_INCLUDED

GObject.cpp
#include "GObject.h" #include <string> #include <SDL.h> GObject::GObject(int cx,int cy,std::string cspritename) : x(cx), y(cy), spritename(cspritename) {} void GObject::KeyDown(Uint8*) { }

Thanks in advance for help Smile

Dopuna: 10 Apr 2010 2:10

Resio,trebalo je

class Ship : public GObject

Razz



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 955 korisnika na forumu :: 92 registrovanih, 4 sakrivenih i 859 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 16.mabr, 1MAP, aleph_one, alkatraz080, anbeast, Arhiv, Arni, Bobrock1, bojan_t, Borski1977, BSD, Buzdovan, BWG, ceman, crnirocko, d.arsenal321, Dannyboy, DejvTroter, Demi87, DJ Brain(w)rack, DJUNTA, DonRumataEstorski, ekozelj, Frunze, goran.vvv, gost321, Hamo77, Hans Gajger, Heavy Jerk, Igorkg77, ivan_8282, Ivica1102, ivica976, Jester, K a s p e r, K2, kinez88, KizJ, kljift, Kosare, kybonacci, luka35, m0nstrum_, Malahit, mane123, markoskjk, miki kv, Mikisha, milenko crazy north, Milovan Dinic, mkukoleca, Mldo, Mzee, Ne doznajem se u oružje, Nikola333, niksa517, paja69, pavle_pzs, petrovicrs, pisac12, Polemarchoi, Prašinar, proljece, rachmoff, Rogan33, royst33, Sawages, shiro, Silvertooth, Srki94, ssekir75, starlights, stegonosa, Stevan Visoki, T55, Titan, tomo2, Tribal, Tristan_Bantam, ulogovan, VanZan, Vatreni Zmaj, vazduh, Velizar Laro, VojaeZ, vukajlo71, Vzor50, yip314, zajcev1, zgoljo, zixmix, zule2