A kód szervezésének egyik fontos módszere a névterek használata.
Két függvény neve ütközhet, amit azzal oldhatunk fel, hogy különböző névterekbe tesszük őket.
A névterek egymásba ágyazhatók, ami segíthet a nagy kódbázisok tagolásában.
A névterek elérése a :: scope-feloldó operátorral történik.
Az alábbi példa két különböző foo függvény használatát mutatja.
Ezeket úgy használjuk együtt, hogy az elejükre írjuk a megfelelő névteret.
namespace my_ns {
int foo() {
return 44;
}
namespace my_inner_ns {
int baz() {
return 90;
}
}
}
namespace my_other_ns {
int foo() {
return -2;
}
}
int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};
Egy rangos ügyvédi irodánál dolgozol, amely különleges végrendeleti kérések intézésére szakosodott.
Ebben a feladatban egy titokzatos széfet fogsz kinyitni. Te vagy a hagyaték végrehajtója, és három család régen őrzött titkos kódjait fogod összerakni, hogy megkapd a számlaszámot és a hozzá tartozó kódot.
Hogy egyetlen család se nyithassa ki egyedül a széfet, csak úgy lehet kinyitni, ha a tudásukat összevetjük egy titkos módosítóval, amelyet te a végrendeletből ismersz.
Három részfeladatod van, és mindegyik abban segít, hogy a családok kinyithassák a széfet.
Definiálj egy estate_executor nevű névteret.
A következő részfeladatok kódját az estate_executor névtér törzsében kell definiálni.
namespace some_name {
// The space between the curly brackets
// is called body of the namespace.
}
Eljött a te nagy pillanatod. Csak neked van meg az a titkos módosítókulcs, amellyel felfedheted a titkos számlaszámot.
Definiáld az assemble_account_number(int secret_modifier) függvényt, amely argumentumként átveszi a titkos módosítót, és az összeállított számlaszámot int-ként adja vissza.
Ahhoz, hogy megkapd a helyes számot, össze kell adnod mindhárom család bank_number_part értékét.
A végrendelet utasításai szerint először az összes kék, majd az összes piros töredéket kell összeadnod. A kapott kódot úgy kapod meg, hogy a két összeget összeszorzod.
Definiáld az assemble_code() függvényt, amely úgy adja vissza a kapott kódot, hogy a három család töredékeit egyetlen integer-ré kombinálja.
A függvénynek nincsenek argumentumai, és kizárólag a családok megfelelő névtereiben lévő információkra támaszkodik.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) C++ nyelvet 19 fogalom100 feladat segítségével, valódi emberi mentorálással, mindez ingyen.