.[ ČeskéHry.cz ].
blby konstruktor
Jdi na stránku 1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 9. srpen 2007, 20:59:25    Předmět: blby konstruktor Odpovědět s citátem

mam triedu a konstruktor
kód:
class TextureRes{
public:
   TextureRes();//konstruktor
   ~TextureRes();//destrktor
   GLuint LoadTex(char *path);//nahra texturu a vrati jej cislo
   void SetFilter(GLuint mag,GLuint min,int mip,float ani);//ak je 0 vypne ak 1 zapne filter ak je -1 nemeni.
private:
   unsigned int *textury;//ukazovatel na pole textur
   unsigned int pocet,max;//pocet nahranych textur, kolko je alokovanych textur
   GLuint filtre[3];//nastavenie pre filtre MAG MIN a MIPMAP filter
   float max_anisotropy,anisotropy;
};

TextureRes::TextureRes(void)
{
   textury = new GLuint[10];
   pocet = 10;
   filtre[0]=GL_LINEAR;filtre[1]=GL_NEAREST;filtre[2]=1;
   glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max_anisotropy);
   printf("AF: %.0f\n",max_anisotropy);
}


no a mam problem ze konstruktor sa nevola pri statickom vytvarani
kód:
TextureRes textura,*ptextura;

ptextura = new TextureRes;//zavola sa konstruktor
textura.SetFilter(GL_LINEAR,GL_LINEAR,1,2);//pri statickom sa nezavola konstruktor
ptextura->SetFilter(GL_LINEAR,GL_LINEAR,1,2);

_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
(CZ)genius



Založen: 28. 07. 2007
Příspěvky: 85
Bydliště: Neratovice

PříspěvekZaslal: 9. srpen 2007, 21:19:46    Předmět: Odpovědět s citátem

no ja bych predpokladal ze se konstuktor zavola uz na prvnim radku ("TextureRes textura;")
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 10. srpen 2007, 12:08:26    Předmět: Odpovědět s citátem

Nejsem si jistej jestli to má vliv ale nemělo by tam být:

ptextura = new TextureRes();
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
(CZ)genius



Založen: 28. 07. 2007
Příspěvky: 85
Bydliště: Neratovice

PříspěvekZaslal: 10. srpen 2007, 12:21:44    Předmět: Odpovědět s citátem

klapauciusk napsal:
Nejsem si jistej jestli to má vliv ale nemělo by tam být:

ptextura = new TextureRes();


k tomu nevidim zadnej duvod...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 10. srpen 2007, 13:20:47    Předmět: Odpovědět s citátem

nou: zkus rozdelit ty radky

kód:
Texture tex;
Texteru* ptex;


jestli to kompiler spatne nezere
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Chjoodge



Založen: 30. 07. 2007
Příspěvky: 145

PříspěvekZaslal: 10. srpen 2007, 13:23:29    Předmět: Re: blby konstruktor Odpovědět s citátem

nou napsal:
no a mam problem ze konstruktor sa nevola pri statickom vytvarani

http://nopaste.ceske-hry.cz/459 - vypíše 2x "Konstruktor". IMHO je chyba někde jinde, dáš ruku do ohně za to, že se ten konstruktor nevolá?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 10. srpen 2007, 13:58:47    Předmět: Odpovědět s citátem

Samozrejme ze se ten konstruktor vola pri ty deklaraci (prvni radek). Pokud ne tak je neco moc moc spatne Wink
_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 10. srpen 2007, 15:38:09    Předmět: Odpovědět s citátem

tak som zistil v com to je. s C++ len zacinam. nejak som sa s tym pohral a zistil som ze je to kvoli tomuto
kód:
class Core{
private:
TextureRes textura;
/*dalsi balast */public:/*este vetsi :-)*/
};

tak to nefunguje. takze je moznost aby som mal staticky deklarovanu triedu alebo tam musim dat ukazatel na tu triedu a v konstruktory Core volat new ResourceTex
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 10. srpen 2007, 15:46:21    Předmět: Odpovědět s citátem

http://nopaste.ceske-hry.cz

posli cely zdrojak - at mame nad cim premyslet;

v pripade ze vytvoris to Core musi se vytvorit i Texture
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 10. srpen 2007, 16:26:51    Předmět: Odpovědět s citátem

http://nopaste.ceske-hry.cz/460

tak tu to mate. iank by som este chcel vediet
malloc() = new
free() = delete
realloc() = ?? Confused
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 10. srpen 2007, 17:00:09    Předmět: Odpovědět s citátem

nou napsal:
realloc() = ?? Confused

new, memcpy, delete
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 10. srpen 2007, 17:30:53    Předmět: Odpovědět s citátem

to pochybujem ze by mohlo byt memcpy. asi by to aj skopirovalo ale co ked budem v konstrktore alokovat pamet?? tie ukazatele na pamet by sa mi memcpy prepisali. asi si budem musiet urobit kopirovaci konstruktor a robit to tak.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 10. srpen 2007, 18:12:18    Předmět: Odpovědět s citátem

No tak ono jaksi zalezi na tom, na co chces ten "jako realloc" pouzit. Predpokladal jsem, ze chces zmenit velikost nejakyho bufferu, alokovanyho treba pres neco jako new byte[].
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Chjoodge



Založen: 30. 07. 2007
Příspěvky: 145

PříspěvekZaslal: 10. srpen 2007, 18:33:25    Předmět: Odpovědět s citátem

Mnemonic napsal:
nou napsal:
realloc() = ?? Confused

new, memcpy, delete

Je tam zásadní rozdíl - memcpy nic neuvolňuje ani nealokuje. Ekvivalent realloc v tomhle smyslu neexistuje. Je potřeba naalokovat novou paměť (new), zkopírovat (memcpy) a uvolnit starou (delete).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 10. srpen 2007, 18:34:09    Předmět: Odpovědět s citátem

Mnemonic napsal:
nou napsal:
realloc() = ?? Confused

new, memcpy, delete


ne nutne ale - realloc vrati stejnou adresu a alokuje vic pameti pokud je dost volno za alokovanou pameti
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna