Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

polimorfizam, nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?

[es] :: C/C++ programiranje :: polimorfizam, nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?

[ Pregleda: 2277 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

fanfare
nezaposlen
Prnjavor,BiH

Član broj: 231940
Poruke: 27
*.teol.net.



Profil

icon polimorfizam, nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?10.01.2011. u 23:36 - pre 161 meseci
Nedavno sam dobio zadatak da koristeći osobine polimorfizma i :



Napisao sam kod koji prolazi kroz kompajler kao OK,ali mi nakon startovanja ne radi baš sve kako treba!
Da li mi neko može pomoći? U čemu je greška?
Kod sam dao u prilogu: polimorfizam

Napomena:Zadatak se sastoji u tome da izvedemo klasu Kvadrat iz klase Cetverougao. Kvadrat se konstruiše pomoću jedne tačke i dužine stranice. Zatim treba preklopiti operator -- tako da u klasi Kvadrat umanij broj tačaka za jedan tj. da konstruiše Trougao i ispiše njegove osobine, a od tog Trougla da napravi Duž i ispiše njene osobine.

Da li je dovoljno što sam u baznoj klasi Poligon napisao:

Code:
 virtual Poligon* operator--() =0; 
,

dok sam u izvedenoj klasi Cetverougao redefinisao tu operatorsku funkciju:

Code:
 Poligon* Cetverougao::operator--()
{     
     double x1,y1,x2,y2,x3,y3;
     x1=t[0].getX();
     y1=t[0].getY();
     x2=t[1].getX();
     y2=t[1].getY();
     x3=t[2].getX();
     y3=t[2].getY();
     Poligon *pC=new Trougao (x1,y1,x2,y2,x3,y3); 
     return pC;
}            



U main-u sve radi kako treba dok nedođe do preklopljne operatorske funkcije --() Gdje je greška????



[Ovu poruku je menjao fanfare dana 11.01.2011. u 20:36 GMT+1]

[Ovu poruku je menjao fanfare dana 12.01.2011. u 10:43 GMT+1]

[Ovu poruku je menjao fanfare dana 12.01.2011. u 22:11 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

fanfare
nezaposlen
Prnjavor,BiH

Član broj: 231940
Poruke: 27
*.teol.net.



Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 09:53 - pre 161 meseci
OK! Bila je moja greska u main-u. Napisao sam --pK; umjesto --(*pK);
Ali svejedno neradi ono što bi trebalo. Kako da kad vrati pokazivač na osnovnu klasu, da to ustvari bude objekat Izvedene klase? Ako može neko da razumije šta hoću da kažem.

Code:
 #include <cstdlib>
#include <iostream>

#include "duz.h"
#include "trougao.h"
#include "cetverougao.h"
#include "kvadrat.h"

using namespace std;

int main(int argc, char *argv[])
{
    double x,y;  
    Poligon *pK;
     
    cout<<"Unesite koordinate donjeg lijevog vrha kvadrata: "<<endl;
    cout<<"\tx=";cin>>x;
    cout<<"\ty=";cin>>y;
    cout<<"Unesite duzinu stranice kvadrata:"<<endl;
    int a;
    cout<<"\ta="; cin>>a; 
    Kvadrat c(x,y,a);
    pK=&c;
    cout<<"Kreiran je kvadrat ABCD(stranice paralelne osama)"<<endl;
    pK->print();
    cout<<endl;
    cout<<"\tobim     : "<<pK->obim()<<endl;
    cout<<"\tpovrsinu : "<<pK->povrsina()<<endl;
    cout<<"------------------------------------------------------"<<endl;
    cout<<"Trougao ABC= --(Kvadrat ABCD)"<<endl;
    --(*pK);
    pK->print();
    cout<<endl;
    cout<<"\tobim     : "<<pK->obim()<<endl;
    cout<<"\tpovrsinu : "<<pK->povrsina()<<endl;
    cout<<"------------------------------------------------------"<<endl;
    cout<<"Duz AB= --(Trougao ABC)"<<endl;
    --(*pK);           
    pK->print();
    cout<<endl;
    cout<<"\tobim     : "<<pK->obim()<<endl;
    cout<<"\tpovrsinu : "<<pK->povrsina()<<endl;
    cout<<"------------------------------------------------------"<<endl;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 


 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.teletrader.com.



+2790 Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 15:24 - pre 161 meseci
Šta program tačno radi, a šta bi trebao da radi? Šta tačno nije u redu?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.teletrader.com.



+2790 Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 16:08 - pre 161 meseci
Evo ispravki. Menjana je main funkcija, kao i operator'-- u klasama Duz, Trougao i Cetvorougao.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Prikačeni fajlovi
 
Odgovor na temu

fanfare
nezaposlen
Prnjavor,BiH

Član broj: 231940
Poruke: 27
*.teol.net.



Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 17:33 - pre 161 meseci
Citat:
Nedeljko: Šta program tačno radi, a šta bi trebao da radi? Šta tačno nije u redu?

Program bi trebao da:
1.) po unosu koordinata jedne tačke Kvadrata i dužine stranice odredi koordinate preostale tri tačke i izračuna obim i površinu kvadrata
2.)pri korišćenju prefiksnog operatora na objekat tipa Kvadrat,bi trebalo da vrati Trougao ( koordinate trougla iste kao i kvadrata tj. Trougao= --Kvadrat,umanji se za jednu tacku), ispiše trougao i izračuna obim i površina
3.)slično kao pod 2. s tim da sad treba od Trougla dobijenog pod 2. da se dobije duž: Duž= --Trougao

Citat:
Nedeljko: Evo ispravki. Menjana je main funkcija, kao i operator'-- u klasama Duz, Trougao i Cetvorougao.


Ako možeš Nedeljko da pokažeš i main!!
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.mts.telekom.rs.



+2790 Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 17:58 - pre 161 meseci
Ah, da, zaboravio sam. Evo ga!
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Prikačeni fajlovi
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.mts.telekom.rs.



+2790 Profil

icon Re: polimorfizam,visestruko nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 18:19 - pre 161 meseci
Samo jedna napomena u vezi naslova: Ovde nigde nemaš višestruko nasleđivanje.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

fanfare
nezaposlen
Prnjavor,BiH

Član broj: 231940
Poruke: 27
*.teol.net.



Profil

icon Re: polimorfizam, nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?12.01.2011. u 21:19 - pre 161 meseci
OK! Grešku u vezi naslova sam ispravio.
VELIKO HVALA Nedeljku , uvidio sam u čemu sam griješio u main funkciji:
dodjeljivanje nove vrijednosti pokazivaču Osnovne klase pK=--(*pK);
 
Odgovor na temu

[es] :: C/C++ programiranje :: polimorfizam, nasledjivanje,preklapanje operatora-- : Lijepo iskompajlira ali neradi sve?

[ Pregleda: 2277 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.