Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

clase si obiecte

- - - - -
  • Please log in to reply
11 replies to this topic

#1
gumball21

gumball21

    New Member

  • Grup: Members
  • Posts: 11
  • Înscris: 01.12.2014
Salut, daca am o clasa de exemplu

class gameObject {
public:
   string type;
   int x;
   int y;
}


Cum as putea sa creez o lista de obiecte care creste automat cand utilizatorul alege intr-un meniu: "Insert Object". Am incercat cu vectori v[n] si merge dar nu vreau sa aleg eu numarul maxim de elemente, vreau ca utilizatorul sa poata adauga cate vrea. Se poate cu liste inlantuite ? Si daca da, cum ? Am incercat vreo 3 ore si tot nu am reusit.

#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Sigur ca se pot folosi listele. Acum tu vrei explicat teoria lor aici ? Altfel nu-i nici o mare branza, in structua unui nod pastrezi o referinta la acel obiect. Iar pointerii sa-i visezi.

Edited by neagu_laurentiu, 02 June 2015 - 18:12.


#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postgumball21, on 02 iunie 2015 - 18:08, said:

Se poate cu liste inlantuite ?
Da.

View Postgumball21, on 02 iunie 2015 - 18:08, said:

Si daca da, cum ? Am incercat vreo 3 ore si tot nu am reusit.
Arata ce ai incercat si vei primi feedback la incercarile tale, asa incat sa poti transpira mai cu spor in a-ti rezolva problema.

#4
gumball21

gumball21

    New Member

  • Grup: Members
  • Posts: 11
  • Înscris: 01.12.2014
Am 1 clasa baza GameObject cu 3 functii, si inca 3 sub-clase(gun, armor, boots) cu functii diferite fiecare, de exemplu la gun am o functie care returneaza ammo, la boots returneaza speed,etc. Trebuie sa fac 3 liste separate pentru fiecare subclasa ?

#5
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Nu daca nu-i nevoie in logica aplicatiei tale.

Edited by neagu_laurentiu, 02 June 2015 - 18:36.


#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postgumball21, on 02 iunie 2015 - 18:35, said:

Am 1 clasa baza GameObject cu 3 functii, si inca 3 sub-clase(gun, armor, boots) cu functii diferite fiecare, de exemplu la gun am o functie care returneaza ammo, la boots returneaza speed,etc. Trebuie sa fac 3 liste separate pentru fiecare subclasa ?

Mai bine descrie jocul din perspectiva userului (se numesc use cases), si iti dam noi idei de software design (cum sa organizezi codul).

#7
gumball21

gumball21

    New Member

  • Grup: Members
  • Posts: 11
  • Înscris: 01.12.2014
Nu e un joc propriu zis, sunt clasa a 10-a, la scoala fac pascal si eu invat c++ separat acasa. Vreau sa fac un program unde utilizatorul are un meniu [ 1-Add Object 2-Remove Object ] iar daca alege 1, ii apare alt meniu unde il intreaba ce fel de obiect sa fie creat (gun, armor)

Edited by gumball21, 02 June 2015 - 18:44.


#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postgumball21, on 02 iunie 2015 - 18:43, said:

Nu e un joc propriu zis, sunt clasa a 10-a, la scoala fac pascal si eu invat c++ separat acasa. Vreau sa fac un program unde utilizatorul are un meniu [ 1-Add Object 2-Remove Object ] iar daca alege 1, ii apare alt meniu unde il intreaba ce fel de obiect sa fie creat (gun, armor)

Ok, atunci fa o lista inlantuita de obiecte in care salvezi pointeri catre gameObject.

#9
gumball21

gumball21

    New Member

  • Grup: Members
  • Posts: 11
  • Înscris: 01.12.2014
Un exemplu ca sa inteleg cum mai exact ? Ceva cu o clasa baza si 2 subclase ale clasei baza.

#10
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postgumball21, on 02 iunie 2015 - 19:32, said:

Un exemplu ca sa inteleg cum mai exact ? Ceva cu o clasa baza si 2 subclase ale clasei baza.

Stii sa faci o lista inlantuita care salveaza numere intregi?

Ei bine, faci fix la fel, doar ca in loc de int ai gameObject*.

#11
gumball21

gumball21

    New Member

  • Grup: Members
  • Posts: 11
  • Înscris: 01.12.2014
Si trebuie sa creez trei liste pentru fiecare clasa derivata din clasa de baza pentru exemplul pe care l-am dat ?

De exemplu eu am:

Class GameObject{
public:
//get and set ...
private:
int x;
int y;
string texture;
}

Class gun:public GameObject{
public: //get and set...
private:
int ammo;
}


Eu daca o sa creez o lista cu GameObject nu o sa pot sa accesez clasa gun. Asta te intreb, am nevoie de 3 liste create separat pentru
clasele derivate ?

Edited by gumball21, 02 June 2015 - 20:19.


#12
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Ti-am mai raspuns la asta, nu e nevoie. Ori folosesti metode virtuale din OOP sau pointer la void si cast in fuctie de ceva.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate