C/C++

kotprog/operatoroverloading

Fórumok

sziasztok
ismét zaklatom a közösséget egy kis kötprogi porblémával, a prognak az alábbi követelményei vannak:

# C++ nyelven legyen, legyen benne legalább egy osztály, ami használ operátor overloadingot.
# Legyen 5 függvénye a konstruktor/destruktoron felül.
# Legyen egy main függvény, ami bemutatja az osztály használatát.

vmi hiper egyszerűt szeretnék írni, mert nincs sok időm és nem vok cpp perfekt sem (mondjuk jobban megy talán mint a php/mysql kombó aki tudja miről beszélek)

ötletetek esetleg van-e hogy mit írjak, meg mire menjek rá esetleg milyen könyvből érdemes neki állni.
előre is thx!

[megoldva] Apache hookok vs. export symbolok

Fórumok

Sziasztok,

beleszaladtam egy kis Apache modulhegesztesbe. Sajnos nem ertek hozza annyira, amennyire szeretnek, ezert problema a kovetkezo:

Adott egy Apache MPM, amit szeretnek dinamikusan konfiguralni. Ebbe beleirtam azt a tudomanyt, hogy hookbol tudjon mukodni. mympm.h-ba:


typedef struct
{ 
...
} mympm_server_conf;
AP_DECLARE_HOOK(int,mympm_configure,(request_rec *r));

mympm.c-be:

APR_HOOK_STRUCT(
    APR_HOOK_LINK(mympm_configure)
)
AP_IMPLEMENT_HOOK_RUN_FIRST(int,mympm_configure,(request_rec *r),(r),DECLINED);

A megfelelo helyre pedig:

mympm_server_conf *sconf = (mympm_server_conf *) ap_run_mympm_configure(r);

A betoltendo konfiguralo modul register_hooks fuggvenyebe:


#include "mympm.h"
ap_hook_mympm_configure(mymodule_mympm_configure, NULL, NULL, APR_HOOK_MIDDLE);

Illetve a fuggveny:

static int
mymodule_mympm_configure(request_rec *r)
{
...
}

Leforgatom az egesz kocerajt es megnezem a symbolokat, akkor azt latom, hogy a mympm.o exportalja az ap_hook_mympm_configure-t:

000009b0 T ap_hook_mympm_configure

Viszont amikor elindul az Apache, panaszkodik ra:

apache2: Syntax error ...: Cannot load /usr/lib/apache2/modules/mod_mymodule.so into server: /usr/lib/apache2/modules/mod_mymodule.so: undefined symbol: ap_hook_mympm_configure

Probaltam betenni az mpm_common.c-be is az APR_HOOK_LINK-et, de ettol az mpm_common.o-ban nem latszott, hogy exportalja. Mit kell ahhoz tenni, hogy az illeto hookot elerjem?

mail küldése c vagy c++ -ból

Fórumok

Keresgéltem, de nem találtam igazán jó megoldást arra, hogy hogyan tudok mail-t küldeni C-ből. Mail-relay-en keresztül szeretném a leveleket küldeni, postfix beállításait figyelembe véve vagy azon keresztül.
Mivel ilyet még nem csináltam, lehet sok hülyeséget írtam. :)

fv. mutato pointer

Fórumok

Hi,
lenne egy osztaly melynek van egy fv.re mutato pointere:
class A
{
public:
typedef void (*callfv)();
callfv fv;
A(callfv f)
{
this->fv = f;
}
};
es egy masik osztaly ahol peldanyositjuk az "A" osztalyt:
class B
{
public:
B()
{
A a = new A(valami);
}
void valami();
};

"A" osztalynal definialt fuggvenyre mutato pointernek szeretnem adni "B" osztaly fuggvenyet. Ha a fv. static akkor mukodik is, de ha az osztaly tagfv.je akkor nem.
megoldhato ez valahogy ?

elore is koszi
zsomi

[Megoldva] KDevelop-ban -lm opció megadása a fordításhoz?

Fórumok

Sziasztok!

KDevelop-val készítem a programot, de nem fordul le. Ahhoz, hogy leforduljon, meg kellene adni valahol, hogy a gcc használja a -lm opciót.

Ez a forráskód:


#include math.h  // én vettem ki a kacsacsőröket!
#include stdio.h
#include stdlib.h
#include ctype.h

#define FALSE 0
#define TRUE  !FALSE

int foo(int szam) {
    int boolVal = FALSE;
    double a1, a2;

    a1 = szam;
    a2 = sqrt(a1);

    return boolVal;
}

int main() {

  return 0;
}

Tudja valaki, hol lehet megadni a KDevelop-ban ezt az opciót?

[Megoldva] Egész szám gyöke C-ben?

Fórumok

Sziasztok!

Ezzel a kóddal kínlódok:


#include math.h  // én vettem ki a kacsacsőröket!
#include stdio.h
#include stdlib.h
#include ctype.h

#define FALSE 0
#define TRUE  1

int foo(int szam) {
    int boolVal = FALSE;
    double a1, a2;

    a1 = szam;
    a2 = sqrt(a1);

    return boolVal;
}

int main() {

  return 0;
}

Hibának ezt írja:

CMakeFiles/p007_gyok.dir/main.o: In function `foo':
main.c:(.text+0x3a): undefined reference to `sqrt'

Ugyanakkor, ha a1 értékadásánál egy konstans értéket adok meg, lefordul a program hiba nélkül.

Pl.:


#include math.h
#include stdio.h
#include stdlib.h
#include ctype.h

#define FALSE 0
#define TRUE  1

int foo(int szam) {
    int boolVal = FALSE;
    double a1, a2;

    a1 = 4.345;
    a2 = sqrt(a1);

    return boolVal;
}

int main() {

  return 0;
}

Miért nem fordul le az első esetben? a1-et átkonvertálná egész típusúra? Nem az egésznek kellene double típusúvá konvertálódni?

operátor írás-hogy is kell azt?

Fórumok

Sziasztok!
egy egyszerű kiíró operátort szeretnék írni, de nem tudom hogy kell...
Segítenétek?Itt van hozzá egy alap:


#include < iostream>
using namespace std;

class Betu{
public:
int a;
Betu(int a):a(a){}
ostream& operator << (ostream& out);

};
ostream& Betu::operator << (ostream& out)
{
out<< a;
return out;
}

int main()
{
int b=4;
Betu c(b);
cout<< c;
return 0;
}

Hol van benne a hiba? Hogy kell csinálni?
Köszi:Kolos

.NET WCF Session kezelési probléma

Fórumok

Hi,

hátha tud valaki segiteni :)

Éppen egy cliens-server app-on dolgozok, ahol a kommunikációhoz wcf-et használunk. Az authentikációhoz a wcf beépített session kezelőjét használnám.
A login interfacem igy néz ki:

[ServiceContract(SessionMode=SessionMode.Required)]
public interface ILogin
{
[OperationContract(IsInitiating=true, IsTerminating = false)]
[FaultContract(typeof(InvalidLoginException))]
[FaultContract(typeof(UnavailableUserManagementException))]
bool Login(string username, string password);

[OperationContract(IsInitiating=false, IsTerminating=false)]
bool LoginPing();

[OperationContract(IsInitiating = false, IsTerminating = true)]
bool Logout();
}

Tehát egyszer meg kell hivni a login()t, és utána lehet csak a többit hivni, különben exceptiont dob. A probléma csak ott van, hogyha jön fault exception a loginból, ugyanis ilyenkor az exception ellenére is sikeres loginnak értelmezi, és létrejön a session.
Találkozott már valaki hasonló gonddal?

Üdv,
Bert