Professional Documents
Culture Documents
hu
Forrs: http://www.doksi.hu
struct valami
{
int
a;
double d;
char
string[80];
};
Ezt a struktrt egyszeren hasznlhatjuk a C++ -ban:
valami what;
what.d = 3.1415;
Ennek a szintaktikai elemnek mg lesz jelentsge az objektum-orientlt programozs
sorn.
Forrs: http://www.doksi.hu
f(): 4198875
dog: 4683580
cat: 4683576
bird: 4683588
fish: 4683592
i: 1245052
j: 1245048
k: 1245044
Lthat hogy az egy helyen deklarlt vltozk cme kzel kerl egymshoz.
Br C programozsi nyelvbl ismert, rdemes tismtelni, hogy a fggvnyek kztti
paramter tads rtk szerint trtnik. Ezt mutatja be a kvetkez plda, melynl
lthat, hogy az f fggvnyen belli vltozs nem tkrzdik a main fggvny
vltoziban, hiszen az f fggvny minden vltozja loklis s nem hivatkoznak kls
vltozkra.
#include <iostream>
using namespace std;
void f(int a)
{
cout << "a = " << a << endl;
a = 5;
cout << "a = " << a << endl;
}
int main()
{
int x = 47;
cout << "x = " << x << endl;
f(x);
cout << "x = " << x << endl;
return 0;
}
Ha lefuttatjuk a fenti pldt akkor az eredmny:
x
a
a
x
=
=
=
=
47
47
5
47
Forrs: http://www.doksi.hu
#include <iostream>
using namespace std;
void f(int *a)
{
cout << "a = " << *a << endl;
*a = 5;
cout << "a = " << *a << endl;
}
int main()
{
int x = 47;
cout << "x = " << x << endl;
f(&x);
cout << "x = " << x << endl;
return 0;
}
Ha lefuttatjuk a fenti pldt akkor az eredmny:
x
a
a
x
=
=
=
=
47
47
5
5
Forrs: http://www.doksi.hu
=
=
=
=
47
47
5
5
Forrs: http://www.doksi.hu
return 0;
}
Forrs: http://www.doksi.hu
#ifdef __cplusplus
extern "C"
{
#endif
// a fggvnyek s vltozk ide jnnek, pldul:
void *xmalloc(unsigned size);
#ifdef __cplusplus
}
#endif
Figyeljk meg, hogy a feltteles fordtsi direktvk segtsgvel hogyan ellenrizzk
hogy C vagy C++ tpus fordtsra van-e szksg. A szabvnyos include file-ok,
pldul az stdio.h is ilyen mdon van megszerkesztve s ezrt hasznlhat mind a
kt nyelvben!
Forrs: http://www.doksi.hu
2.7.1 Megjegyzsek
Forrs: http://www.doksi.hu
// valjban ez:
// showstring("Hello World!\n");
}
Ez a lehetsg, hogy bizonyos argumentumokat nem kell megadni a C++ fordt egy
knyelmi szolgltatsa, ettl a kd nem lesz rvidebb s nem lesz hatkonyabb.
Termszetesen egy fggvnynek tbb alap argumentuma is lehet:
void two_ints(int a = 1, int b = 4);
int main()
{
two_ints();
two_ints(20);
two_ints(20, 5);
}
// argumentumok: 1, 4
// argumentumok: 20, 4
// argumentumok: 20, 5
Forrs: http://www.doksi.hu