Vit, presne toto som potreboval :smile1: Uz mi to ide tak, ako potrebujem. Problem bol v tych konstroktoroch. Dakujem ti velmi pekne :smile18:
Příspěvky odeslané z IP adresy 158.193.98.–
Viem pisal som to z hlavy, su tam nejake syntakticke chyby ale o to nejde. Skor o ten princip, ako sa daju potomkovia jednej triedy pridavat do zasobnika. Ako spravne deklarovat konstruktory a hlavicky metod.
Takze ide o to, ze mam zasobnik do ktoreho pridavam roznych potomkov triedy Predmet(napriklad Terc) pomocou metody:
void Push(Predmet *pPredmet);
Vytvorim si teda objekt z triedy Terc:
terc = new Terc(x); // konstruktor nastavi atribut aPosX na hodnotu x, a do atributu aPovrch sa nacita obrazok podla zadanej cesty
Teraz chcem pridat tento vytvoreny terc do zasobnika:
Push(terc);
A tu nastene problem, ze do metody push sa mi prenesie cez parameter iba hodnota atributu aPosX a atribut aPovrch je NULL.
Takze ked to mam upresnit: ako mam preniest cez ten parameter vsetky informacie a objekte terc?
Zdravim, mam 2 triedy Predmet a Terc. Terc je potomok Predmetu.Zjednodusene zapisane takto:
class Predmet
{
private
int aPosX;
SDL_Surface *aPovrch;
public
Predmet(int x); { aPosX = x; }
~Predmet(void);
}
class Terc : public Predmet
{
private
int aPosX;
SDL_Surface *aPovrch;
public
Predmet(int x); { aPosX = x; aPovrch = SDL_LoadBMP("..\\terc.bmp");}
~Predmet(void);
}
Ako sa da vytvorit objekt typu Predmet, ktory bude mat v atribute aPovrch hodnotu, ktora sa nastavi pri vytvoreni objektu z triedy Terc? Potrebujem asi nieco take ako hlbkovu kopiu objektu Terc. Vopred dakujem.
Tak vidim ze mam este velke rezervy... gj kverulant :smile1:
Aj takto by to malo fungovat:
#include <iostream>
#include <string>
#include <bitset>
#include <limits>
using namespace std ;
int main()
{
string str = "00000101" ;
int a = int(bitset<numeric_limits<unsigned int>::digits>(str).to_ulong());
cout << a;
}
ano presne, vznikne stvorcove pole doplnene o nuly. neviem o tom ze by sa dalo deklarovat pole s roznou dlzkou stlpcov, myslim si ze sa to ani neda.
Najskor si mozes deklarovat pole: int [][] pole; Potom nacitas tie vstupy, zistis si najdlhsi riadok a ulozis do premennej napr: int x; Potom mozes vytvorit 2D pole : pole = new int [x][3];
a nevies nejaku konkretnu funkciu? Skusil som GetProcessHeap ale to mi davalo vzdy iba jednu hodnotu 150000. Potreboval by som stav haldy na zaciatku, co by mala byt 0, potom ked vytvorim nejaky objekt , tak by sa mala zmenit, a na konci zase 0.
Zdravim,
ako sa da vypisat stav haldy (alternativa k getHeapStatus napr. v Delphi) ?
Uz mi to ide, dakujem ti. :)