Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 27.1.2009, 15:38   #1
4th Dimension
Starosedelac
 
Član od: 22.10.2005.
Lokacija: Tivat
Poruke: 1.767
Zahvalnice: 77
Zahvaljeno 231 puta na 166 poruka
Određen forumom Preblem prilkim kompajliranja g++ om u vezi sa klasama

Nešto sam malo uzeo da čačkam oko Linuxa da vidim šta sve tamo mogu da radim, i rekoh ajd da vidim kakko se tamo programira. Do sada sam bio koristio Borland developer, i poslije nekraćeg *****avanja u osnovi shvatim kako se tmao kompajlira.
I sad uzmem da probam da vidim hoće li mi kod koji je radio preko borlanda raditi ovdje.
Osnovni kratkiu programi rade.
Ali ovaj neće:
Kod:
#include<iostream>
using namespace std; 
class complex{ 
    private: 
        float Re, Im; 
    public: 
        complex(float a=0, float b=0):Re(a), Im(b){} 
        ~complex(){} 
        complex(complex &kop):Re(kop.Re), Im(kop.Im){} 
        void prikazi_br(){ 
            if(Im>=0) cout<<Re<<"+i"<<Im<<endl; 
            else cout<<Re<<Im<<"i"<<endl; 
        } 
        friend complex operator-(complex, complex); 
        complex& operator-=(complex); 
}; 
complex operator-(complex A, complex B){ 
    return complex(A.Re-B.Re , A.Im-B.Im); 
} 
complex& complex::operator-=(complex A){ 
    *this=*this-A; 
    return *this; 
} 
main() 
{ 
    complex A(2, 3), B(3); 
    complex C(A); 
    complex D(2, -3); 
    D=A-B; 
    cout<<"A je: "; 
    A.prikazi_br(); 
    cout<<"B je: "; 
    B.prikazi_br(); 
    D=A-B; 
    cout<<"D=A-B="; 
    D.prikazi_br(); 
    cout<<"A je 3, B je 2-1i. A-B je"; 
    A=D=3-complex(2, -1); 
    D.prikazi_br(); 
    A.prikazi_br(); 
    D=3-2; 
    D.prikazi_br(); 
    A.prikazi_br(); 
    getchar(); 
}
Znači smjestim gornje u zad.cpp
Otvorim konzolu i ukucam i dobijem:
Kod:
~$ g++ -Wall zad.cpp -o prog1
zad.cpp: In function ‘complex operator-(complex, complex)’:
zad.cpp:18: error: no matching function for call to ‘complex::complex(complex)’
zad.cpp:9: note: candidates are: complex::complex(complex&)
zad.cpp:7: note:                 complex::complex(float, float)
zad.cpp: At global scope:
zad.cpp:24: warning: ISO C++ forbids declaration of ‘main’ with no type
zad.cpp: In function ‘int main()’:
zad.cpp:38: error: no matching function for call to ‘complex::complex(complex)’
zad.cpp:9: note: candidates are: complex::complex(complex&)
zad.cpp:7: note:                 complex::complex(float, float)
zad.cpp:38: error:   initializing argument 1 of ‘complex operator-(complex, complex)’
zad.cpp:38: error: no matching function for call to ‘complex::complex(complex)’
zad.cpp:9: note: candidates are: complex::complex(complex&)
zad.cpp:7: note:                 complex::complex(float, float)
zad.cpp:38: error:   initializing argument 2 of ‘complex operator-(complex, complex)’
Koji mu je sad antrak?
4th Dimension je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 15:49   #2
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Pa nisi deklarisao operator '=', probaj sa time... Mislim i da za operator minus treba da prosledjujes promenljive po referenci. Takodje deklarisi i konstruktor kopiranja ili ga stavi pod private ako neces da se koristi. Na windowsu je mnogo stvari dozvoljeno, koje inace ne bi trebale da budu. Posle se ljudi pitaju otkud toliki bugovi
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 17:17   #3
4th Dimension
Starosedelac
 
Član od: 22.10.2005.
Lokacija: Tivat
Poruke: 1.767
Zahvalnice: 77
Zahvaljeno 231 puta na 166 poruka
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Zar nije konstruktor kopiranja ovo:
complex(complex &kop):Re(kop.Re), Im(kop.Im){}

Kako mogu vratiti po referenci kada će ta promjenljiva koju vraćam biti obrisana poslije završetka funkcije. Poprilično sam zarđao sa C++ naprednim konceptima, ali sam poprilično siguran u to.

EDIT:
Ah da našao sam grešku. Treba:
complex(const complex &kop):Re(kop.Re), Im(kop.Im){}
umjesto:
complex(complex &kop):Re(kop.Re), Im(kop.Im){}

majčicu mu cjepidlačku.

Hmm. Kad si tu. Da neznač neki fin Linux program za programiranje vizuelinh aplikacija u C++. Borland je to zvao VCL aplikacije?
4th Dimension je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 17:44   #4
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.237
Zahvalnice: 662
Zahvaljeno 1.390 puta na 717 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Imas Code::Blocks i Eclipse pa uzmi koji ti vise odgovara... Po meni je bolje Code::Blocks jer Eclipse nije native za cpp vec za javu cini mi se.
Andross je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 20:21   #5
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Code blocks, mislim da je to najbolji izbor
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 20:39   #6
4th Dimension
Starosedelac
 
Član od: 22.10.2005.
Lokacija: Tivat
Poruke: 1.767
Zahvalnice: 77
Zahvaljeno 231 puta na 166 poruka
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Dobro, ovaj makar može da iskompajlira konzolne programe. Ali imali negdje kakav jednostavan tutorijal kako da ga upotrebim za dizajniranje "vizuelnih" aplikacija. Sa dugmićima i to?
4th Dimension je offline   Odgovor sa citatom ove poruke
Stara 27.1.2009, 21:43   #7
kish
Član
 
Član od: 29.7.2006.
Poruke: 248
Zahvalnice: 32
Zahvaljeno 44 puta na 27 poruka
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Code::Blocks (a ni Eclipse, cini mi se) nema ugradjen resource editor za WinAPI, ako si na to mislio. Postoje neke samostalne varijante, kao sto je na primer ResEd koji bi trebao da uzadovolji sve osnovne potrebe za rad sa resursima.

EDIT: Tek sad vidim da radis pod Linuxom. Kako god, radi se o malom programcicu pa ce valjda lepo raditi sa Wineom.
Sto se tice tutoriala, imas ovde jedan koji sasvim dobro objasnjava osnove WinAPI-ja.

Poslednja ispravka: kish (27.1.2009 u 21:51)
kish je offline   Odgovor sa citatom ove poruke
Stara 28.1.2009, 0:03   #8
bvitnik
Starosedelac
 
Član od: 27.12.2005.
Lokacija: Pančevo
Poruke: 1.305
Zahvalnice: 66
Zahvaljeno 438 puta na 328 poruka
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Citat:
4th Dimension kaže: Pregled poruke
Hmm. Kad si tu. Da neznač neki fin Linux program za programiranje vizuelinh aplikacija u C++. Borland je to zvao VCL aplikacije?
Koliko ja znam, ne postoji ništa slično Borland C++ Builder-u na Linux-u, odnosno ništa slično za RAD (Rapid Application Development) a da je za C++. Postojao je nekad Kylix, Borland-ov alat, koji je imao i C++ i Delphi kompajlere i imao krosplatformske komponente tako da si mogao bez problema da kompajliraš svoje aplikacije i za Linux i za Windows. Nešto najpribližnije C++ Builder-u je MonoDevelop za C# i Lazarus za Delphi. Ostala okruženja (IDE) koriste klasičan način programiranja GUI aplikacija kao u Visual Studio C++.

Ako se opredeliš za programiranje GUI aplikacija pomoću GTK+ kontrola, možeš koristiti Anjuta IDE + Glade za dizajniranje dijaloga, ako se opredeliš za Qt kontrole, onda koristi KDevelop i alate koje dolaze s njim. Možeš da koristiš i pomenute Eclipse i Code::Blocks.
bvitnik je offline   Odgovor sa citatom ove poruke
Stara 28.1.2009, 20:20   #9
4th Dimension
Starosedelac
 
Član od: 22.10.2005.
Lokacija: Tivat
Poruke: 1.767
Zahvalnice: 77
Zahvaljeno 231 puta na 166 poruka
Određen forumom Re: Preblem prilkim kompajliranja g++ om u vezi sa klasama

Znam ja za sve te silne kombinacije, ali nigdje ne mogu da nađem kršteno upustvo kako da povežem sve te programe, ili kakav kraći tutorial o povezivanju.

Recimo QT Designer koji sam nabavio i jedino što iz njega mogu dobiti je ui koi nemogu nigdje učitat.

Nego nešto sam kodovao u QT (editor pa kompajliranje), ali sad mi izbacuje jednu jopet nelogičnu grešku. Kod je ovakav:

Kod:
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QtGui>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QVBoxLayout *vertikalni = new QVBoxLayout;
    QHBoxLayout *hor = new QHBoxLayout;
    QLabel *plus = new QLabel("+");
    QLabel *rezult = new QLabel("Saberi");
    QLineEdit *Akut = new QLineEdit;
    QLineEdit *Bkut = new QLineEdit;
    QPushButton *dugme = new QPushButton;
    vertikalni->addWidget(hor, Qt::AlignTop);
    vertikalni->addWidget(rezult, Qt::AlignTop);
    vertikalni->addWidget(dugme, Qt::AlignTop);
    hor->addWidget(Akut);
    hor->addWidget(plus);
    hor->addWidget(Bkut);
    plus->show();
    return app.exec();
}
onda uradim sledeće:

Kod:
$ qmake -project
$ qmake
$ make
i dobijem error:
Kod:
main.cpp: In function ‘int main(int, char**)’:
main.cpp:16: error: no matching function for call to ‘QVBoxLayout::addWidget(QHBoxLayout*&, Qt::AlignmentFlag)’
/usr/local/Trolltech/Qt-4.4.3/include/QtGui/qboxlayout.h:81: note: candidates are: void QBoxLayout::addWidget(QWidget*, int, Qt::Alignment)
make: *** [main.o] Error 1
Gdje nađe ovo:
QHBoxLayout*&
ajd da je samo * pa da kažem da je pokazivač. Ali koji mu je ovo antrak?
Inače nešto tako su radili i ovdje:
http://doc.trolltech.com/4.4/tutoria...ook-part2.html
4th Dimension je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Pitanje u vezi sa hard diskom Baalzamon Nosači podataka 19 18.1.2008 2:17
Farbanje kućišta? bobzilla Modovi 87 11.9.2007 11:14
Pitanje u vezi sa plocom ASUS P4PE2-X gravedigger032 Osnovne komponente 3 12.3.2007 3:02
Pitanje u vezi sa kupovinom - hitno daneboy Šta da kupim? 4 25.1.2007 0:36
U vezi sa "Ko je online" holodoc Forum o forumu 11 29.9.2006 6:01


Sva vremena su po Griniču +2 h. Sada je 20:08.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com