C/C++

Qt designer kérdések

Fórumok

Üdv: Pelci.

Sziasztok!

A problémám: próbálgatom használni a TROLLTECH cég Qt Designer dialógus ablak (és stb...) tervező szoftverét. Először is nem találok benne lehetőséget egy kép beillesztésére.

Másrészt, ha olyan objektumot szeretnék az ablakba beilleszteni, ami Qt4 osztályból származik, de általam tovább van fejlesztve, akkor azt hogyan tegyem be mégis az ablakocskámba?

Előre is köszi a segítségeteket!

Függvények priváttá tétele. Hogyan?

Fórumok

Sziasztok!

A kérdésem: a C++ nyelvben, hogyan lehet egy leszármazott osztályban az ősosztály néhány (nem minden!) tagfüggvényét átminősíteni private taggá? Ha átdeklaráltam, hogyan implementáljam?

Ezt a kódot írtam, de nem működik:

#include

class c1
{
public:
int fv1(int a, int b)
{
return a + b;
}
int fv2(int a, int b)
{
return a * b;
}
};

class c2 : public c1
{
public:
int fv3(int a, int b)
{
return fv1(a, b) + 10;
}
private:
int fv1(int a, int b);
};

int main()
{
c1 x;
c2 y;
std::cout << "\n\n" << x.fv1(1, 2) << " " << y.fv3(1, 2) << "\n\n";
}

Ha ezt írom:

private:
int fv1(int a, int b) { }

Akkor viszont nem csinál a fv1 semmit, mert nincs benne kód.
Kellene valami ilyesmi lehetőség:

private:
int fv1(int a, int b) { inherited fv1(a,b) }

Tehát kéne egy lehetőség arra, hogy végre is hajtsa osztályon belül a műveletet, de mégis priváttá váljon.

Előre is köszi a segítségeteket!

C++ forráskódok indentálása

Fórumok

Sziasztok!

Gondolom sok "egeszségesen" lusta hup olvasó használja az indent névre hallgató c/c++ kódszépítő programkát. A kérdésem az lenne, hogy Ti milyen stílust (indent paramétereket) favorizáltok c++ kódokhoz és miért (vagy esetleg miért nem használtok kódszépítőt). Nyilván ez nagyon szubjektív dolog, de azért fel lehet hozni számos objektív érvet áttekinthetőség vagy egyéb szempontokat figyelembe véve.

Pie Chart osztály létezik-e?

Fórumok

Üdv,

megpróbáltam találni valamilyen eszközt, amivel egyszerűen, könnyen elő lehetne állítani pie chart diagramot néhány bemenő adat alapján. De nem találtam ilyen osztályt (widgetet) a neten. Létezik ultimate++, QT, OpenGL alatt ilyen, vagy a rendelkezésre álló grafikai eszközökkel le kell gyártani egyénileg? (Gondolom az Ultimate++ és a QT is használ OpenGL -t, úgyhogy összerakni biztos lehet, de készen van-e?

nagy tömb deklarálás

Fórumok

A kérdésem az igazán csak elméleti, mert ugyebár allokálni sokkal szebb neki memóriát, de a kérdésem mégis az lenne, mekkora maximális méretű tömb deklarálható?
Vagy milyen fordítási kapcsolóval lehet 64k-nál nagyobb tömböt csinálni?

Segfault, de miért?

Fórumok

sziasztok!

most kezdtem el nemrég gyúrni a c-t, a c példatár című könyv segítségével próbálom megérteni, hogy mi miért történik... adott az alábbi feladat:

Írjunk programot, amely kiírja egy dolgozat szöveges értékelését az érdemjegy alapjána kód pedig:
#include

main( ) {
int jegy;
printf( "Érdemjegy: " ); scanf( "%d", &jegy );
switch( jegy ) {
case 1: puts( "elégtelen" ); break;
case 2: puts( "elégséges" ); break;
case 3: puts( "közepes" ); break;
case 4: puts( "jó" ); break;
case 5: puts( "jeles" ); break;
}
}

ez így gyönyörűen működik, de gondoltam, miért ne lehetne a jegy egy unsigned short, amikor 1 és 5 közé eső számról van szó. viszont amikor átírtam, akkor ugyan megmondta, hogy a hármas az a közepest jelenti, de utána Segmentation fault (core dumped) üzenettel lépett ki.

ugyan nem dől össze a világ emiatt a probléma miatt, csak kíváncsi vagyok, hogy ez így miért nem jó neki?
köszönöm!

Miért nem fordul??

Fórumok

Helló,

egy kis segítséget kérnék CPP-ben járatos emberektől. Egy progit írok (egyetemi házi) de valamiért nem fordul és a Visual Studio hibaüzenetei nem igazán segítenek a hiba megoldásában. Van egy OutOfMemoryException.h nevű fájl, ez így néz ki:

#ifndef OUT_OF_MEMORY_EXCEPTION_H
#define OUT_OF_MEMORY_EXCEPTION_H

#include

class OutOfMemoryException: public std::exception
{
static const int MSG_LENGHT = 512;
char* msg;
public:
OutOfMemoryException(const char * reason){
msg = new char[MSG_LENGHT];
sprintf(msg,"OutOfMemoryException: %s", reason);
}
const char* what() const{
return msg;
}
}
#endif /*OUT_OF_MEMORY_EXCEPTION_H*/

Ebben elevielg van valami hiba, csak nem tudom hogy mi, ezt írja a VS:

1>c:\documents and settings\szati\my documents\visual studio 2005\projects\hazi8\hazi8\string.cpp(5) : error C2143: syntax error : missing ';' before 'using'
1>c:\documents and settings\szati\my documents\visual studio 2005\projects\hazi8\hazi8\outofmemoryexception.h(11) : error C2059: syntax error : 'inline function header'
1>c:\documents and settings\szati\my documents\visual studio 2005\projects\hazi8\hazi8\outofmemoryexception.h(11) : error C2143: syntax error : missing ';' before '{'
1>c:\documents and settings\szati\my documents\visual studio 2005\projects\hazi8\hazi8\outofmemoryexception.h(11) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\documents and settings\szati\my documents\visual studio 2005\projects\hazi8\hazi8\string.cpp(5) : error C2059: syntax error : ';'

A String.cpp amit említ azt én írtam és így néz ki az eleje:

#include "String.h"
#include
#include "OutOfMemoryException.h"

using namespace std;

namespace HomeMadeString
{
...

Szerintem a hiba a kivétel osztálybvan lessz valahol.

Előre is köszi a segítséget.
Üdv
Szati

vizualizacio: X vagy gdk/gtk?

Fórumok

Sziasztok!
Szeretnenk csinalni numerikus szamitasokat, amiket futas kozben jo lenne vizualizalni: a progi megnyit egy kelloen nagy, mondjuk 500x500-as ablakot es abba rajzol ki a szimulacio altal kiszamolt bitmap-eket (nehany frame/sec-es sebesseggel).
A hatteresemenyekkel meg az interakciokkal (XEvent, foleg expose) sem kell torodni, ha valaki kozben rahuz valamit az ablakra az igy jart.
Porbalkoztam gtk+gdk, ezen belul GdkPixbuf/GdkPixmap kombinacioval, de valahogy csak akkor hajlando mukodni a dolog, ha gtk_main()-t hasznalok, es abbol hivok ki (akar "expose_event"-tel, akar g_timeout_add()-dal idokozonkent, de ugye pont az expose-val nem akarok foglalkozni). Ugy, hogy kezzel (gdk_draw_drawable(), gdk_draw_pixmap()) teszem ki a dolgokat egymas utan, nem akar mukodni, csak akkor rajzol ki barmit is, ha ezek callback-ban (lasd ugye expose, timeout) vannak. A kirajzolando eredmeny az tenyleg egy bitmap-ben (egy sx * sy * 3-as, sorfolytonos RGB unsigned char * tombben) keletkezik, ez a GdkPixbuf szamara tok jo is lenne (lasd gdk_pixbuf_new_from_data()).
Van-e erre a problemara valami egyszeru megoldas vagy trukk? gtk az jo lenne, mert hordozhato, de akar nativ Xlib is jo, lenyeg hogy linux/unix alatt menjen.
koszi, A.

Eclipse-cdt - library project szivas.

Fórumok

Szuksegem lenne egy kis segitsegre eclipse ugyben mert olyan viszonylag alap dolognak mondhato kerdest nem tudok megoldani, ami nelkul valodi c++ projectekre gyakorlatilag hasznalhatatlan lenne az eclipse, szoval biztos csak en nezek be valamit.

Adva van 1 workspace, benne 2 eclipse c++ project. Egy c++ library (hogy statikus vagy shared az most tulajdonkeppen mindegy de mindketto eseten mukodnie kellene a dolognak) es egy c++ executeable project. A cel hogy a librayban megvalositott dolgokat az executeable projectbol el tudjam erni. Az nem sajna mukodik, hogy siman fuggoseget allitok a library projectre az executeable projecten, a linker nem talalja a libraryban definialt szimbolumokat. Akarhogy zsonglorkodok, ezen a helyzeten egyszeruen nem birok valtoztatni, itt teljesen elakadtam. Mar az is gyanus, hogy ha shared library projectet forditok, csak .so file kepzodik, .a nem - static librarynal meg forditva.
Barmilyen otletet, akar RTFM-et is url megjelolessel szivesen veszek.

a valaszokat elore is koszi