Afişează mesaje
|
|
Pagini: [1]
|
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Mostenire la clase
|
: Aprilie 28, 2010, 18:21:33
|
Scuze  codul mai clar: #include<iostream.h>
class cls1 { public: int x; cls1(int i=13) { x=i; } };
class cls2: virtual public cls1 { public: cls2(int i=15) { x=i; } };
class cls3: virtual public cls1 { public: cls3(int i=17) { x=i; } };
class cls4: public cls1 { public: cls4(int i=19) { x=i; } };
class cls5: public cls2, public cls3, public cls4 { public: int y; cls5(int i,int j) : cls4(i),cls2(j) { y=i+j; } cls5(cls5& ob) { y=-ob.y; } };
int main() { cls5 ob1(-9,3), ob2=ob1; cout<<ob2.y; return 0; }
|
|
|
|
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Mostenire la clase
|
: Aprilie 28, 2010, 16:44:20
|
Salut, am o problema cu intelegerea mostenirii la clase. Am citit despre ele pe diferite site-uri, dar daca mi-ar putea explica cineva pe exemplul de mai jos ar fi minunat  Care sunt constructorii care se apeleaza si in ce ordine? #include<iostream> using namespace std; class cls1 { public: int x; cls1(int i=13) { x=i; } }; class cls2: virtual public cls1 { public: cls2(int i=15) { x=i; } }; class cls3: virtual public cls1 { public: cls3(int i=17) { x=i; } }; class cls4: public cls1 { public: cls4(int i=19) { x=i; } }; class cls5: public cls2, public cls3, public cls4 { public: int y; cls5(int i,int j):cls4(i),cls2(j){ y=i+j; } cls5(cls5& ob) { y=-ob.y; }}; int main() { cls5 ob1(-9,3), ob2=ob1; cout<<ob2.y; system("pause"); return 0; } Tuse
|
|
|
|
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Buton (help plz)
|
: Mai 12, 2008, 13:33:44
|
|
Am mai jos o parte din program in care as vrea sa fac un buton sa se miste de la niste coordonate la altele. XMIJ reprezinta mijlocul ecranului pe axa Ox (getmaxx()/2) si YMIJ mijlocul pe Oy (getmaxy()/2). Si m-am gandit sa pun butonul intr-un for si sa scad din coordonata pentru axa Oy, ca sa il misc in sus...doar ca ce face el...pune butonul direct la ultima valoare a lui "i" si anume: bar(xmij-50,ymij-60-200,xmij+50,ymij-40-200); Ceva sfaturi sa il fac sa apara pe ecran pentru fiecare valoare a lui "i"??
for(i=0;i<=200;i+=10); { delay(50); setfillstyle(1,8); bar(xmij-50,ymij-60-i,xmij+50,ymij-40-i); setcolor(10); outtextxy(xmij-45,ymij-53-i,"BUTON"); }
|
|
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Mouse
|
: Aprilie 09, 2008, 22:29:17
|
Cine poate sa imi explice si mie va rog ce inseamna liniile urmatoare de program. Stiu la ce folosesc, dar nu stiu cum functioneaza: union REGS in,out;
void initmouse() { int.x.ax=0; int86(51,&in,&out); }
void showmouse() { int.x.ax=1; int86(51,&in,&out); }
void getcord(int &x,int &y,int &b) { in.x.ax=3; int86(51,&in,&out); x=out.x.cx; y=out.x.dx; b=out.x.bx; }
Editat de moderator: foloseste tag-ul code pentru a posta bucati de sursa.
|
|
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Butoane - grafica
|
: Decembrie 03, 2007, 15:15:18
|
Ma chinui de ceva timp sa fac niste butoane in c++ si nu iese o chestie. Ele apar pe ecran si cand dau rollover cu mouseul peste ele isi schimba culoare, dar "tremura" incontinuu...probabil e de la do{....}while(); dar nu am gasit alta solutie. Uitati algoritmul #include<iostream.h> #include<conio.h> #include<graphics.h> #include<dos.h> #include<stdlib.h>
/*************************************************** ********* MOUSE COMMANDS *************************** ***************************************************/
int xpos1,ypos1,click; union REGS in,out;
int callmouse() { in.x.ax=1; int86(51,&in,&out); return 1; }
void mouseposi(int&xpos1,int&ypos1,int&click) { in.x.ax=3; int86(51,&in,&out); click=out.x.bx; xpos1=out.x.cx; ypos1=out.x.dx; }
void setposi(int&xpos1,int&ypos1) { in.x.ax=4; in.x.cx=xpos1; in.x.dx=ypos1; int86(51,&in,&out); }
int mousehide() { in.x.ax=2; int86(51,&in,&out); return 1; }
void main() { int gd=DETECT,gm,x,y; initgraph(&gd,&gm,"C:\\TC\\BGI"); x=getmaxx()/2; y=getmaxy()/2;
setfillstyle(1,15); bar3d(x-50,y-28,x+50,y-8,0,0); bar3d(x-50,y-2,x+50,y+18,0,0); bar3d(x-50,y+24,x+50,y+44,0,0); settextstyle(11,0,7); setcolor(0); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit");
callmouse(); do{
mouseposi(xpos1,ypos1,click); if(xpos1>x-50 && xpos1<x+50 && ypos1>y-28 && ypos1<y-8) { setfillstyle(1,15); bar3d(x-50,y-28,x+50,y-8,0,0); settextstyle(11,0,7); setcolor(0); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); } else { setfillstyle(1,0); bar3d(x-50,y-28,x+50,y-8,0,0); settextstyle(11,0,7); setcolor(15); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); }
/********************************************************* *********************************************************/
if(xpos1>x-50 && xpos1<x+50 && ypos1>y-2 && ypos1<y+18) { setfillstyle(1,15); bar3d(x-50,y-2,x+50,y+18,0,0); settextstyle(11,0,7); setcolor(0); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); } else { setfillstyle(1,0); bar3d(x-50,y-2,x+50,y+18,0,0); settextstyle(11,0,7); setcolor(15); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); }
/********************************************************** **********************************************************/
if(xpos1>x-50 && xpos1<x+50 && ypos1>y+24 && ypos1<y+44) { setfillstyle(1,15); bar3d(x-50,y+24,x+50,y+44,0,0); settextstyle(11,0,7); setcolor(0); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); } else { setfillstyle(1,0); bar3d(x-50,y+24,x+50,y+44,0,0); settextstyle(11,0,7); setcolor(15); outtextxy(x-30,y-20,"keyboard"); outtextxy(x-20,y+6,"mouse"); outtextxy(x-15,y+32,"exit"); } }while(click==0); } // editat --> foloseste [ code ] [/ code ] pentru a scrie cod pe forum
|
|
|
|
|
10
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Aliniere
|
: Noiembrie 19, 2007, 22:33:31
|
Wefgef imi cer scuze pentru atitudinea mea. Am inteles de ce refuzati atat de mult sa rezolvati teme dar, hint-urile parerea mea este ca pot ajuta si nici nu dau raspunsul. Imi cer scuze si celorlalti, daca s-au simtit ofensati de spusele mele. Sper ca nu sunt prea insistent, dar in legatura cu problema, exista vreo functie care returneaza lungimea fisierului (cate caractere incap pe o linie). M-am uitat in string.h, am dat si un search pe google, tot ce am gasit...si poate merge este ceva de genul: void main () { long in,sf; ifstream f ("C:\\text.txt"); in=f.tellg(); f.seekg (0, ios::end); sf=f.tellg(); f.close(); cout << "lungimea este: "<<sf-in; } Vreau sa stiu doar daca sunt pe drumul cel bun. Oricum sunt recunoscator pentru ai redeschis topicul. Merci wefgef
|
|
|
|
|
11
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Catre wefgef
|
: Noiembrie 19, 2007, 17:58:18
|
|
Asta si este, un atac la persoana fiindca nu mi se pare normal sa inchida topicul fiindca este tema. Cred ca toti am avut probleme la teme la inceput si nici tu nu ai fi fost recunoscator daca cereai ajutor pe un FORUM DE INFORMATICA si ti se spunea foarte elegant pa, cauta ajutor in alta parte.
Si faza cu aici intram pentru performantza...puneti frumusel un scurt test la intrare ca sa nu poate intra oricine care nu este avansat in arta programarii. Uitete la alte posturi si zii daca ti se par intrebari de oameni "avansati", posturi care inca nu au fost inchise (exemplu: alt post deal meu in care intreb cum afisez un numar cu 'x' zecimale exacte).
Macar lasa topicul deschis si daca se "injoseste" cineva sa raspunda bine...daca nu il inchizi dupa o zi doua. Daca tot e simpla intrebarea...raspunde omului...el iti multumeste, e toata lumea fericita si nu se ajunge la asa ceva.
|
|
|
|
|
12
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Catre wefgef
|
: Noiembrie 19, 2007, 17:14:23
|
Am un prieten care a venit de curand din America in Romania. S-a gandit ca o sa reuseasca sa isi faca o afacere aici, studiase istoria noastra etc si isi facuse o impresie foarte buna despre tara noastra. Pana cand a avut nevoie de ceva..parca viza..si l-au innebunit astia. L-au trimis de colo colo si nu a reusit sa faca absolut nimic. Ce a hotarat...se intoarce in America fiindca romanii nostri sunt niste incompetenti si sia schimbat total parerea. Nu mai vrea sa se intoarca. Nici nu il condamn...aparent nimeni nu are timp sa imi dea un raspuns la intrebare...dar va gasiti timp sa imi enumerati motivele pentru care nu imi dati. Traiasca Romania! 
|
|
|
|
|
14
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Catre wefgef
|
: Noiembrie 19, 2007, 16:50:03
|
|
wefgef prin rezolvarea problemelor ne perfectionam, fie ca acestea provin din teme sau nu...si scopul infoarena cred ca acesta este: sa ii ajuti pe alti cand nu stiu, schimb de cunostiinte...asa ca te-as ruga sa nu mai inchizi post-uri asa si eventual daca stii sa imi si dai un raspuns la intrebare. Merci
|
|
|
|
|
20
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Eroare c/c++
|
: August 20, 2007, 22:27:08
|
|
Am si eu o problema cu compileru de c/c++: fac un "programel" simplu gen "hello world" (la executare afiseaza pe ecran textul) si imi da eroare ca nu am declarat functia cout. Si am dat search pe net cu eroare...nu mai stiu care e si am gasit pe un forum cum ca ar trebui sa schimb biblioteca. Gen in loc de iostream.h sa pun doar iostream. Am incercat da degeaba...si pana acum mergea perfect nu mi-a dat erori de flu asta.
Stie cineva de ce?
|
|
|
|
|