A nyelv lehetőséget ad visszatérési értékkel rendelkező, illetve visszatérési értékkel nem rendelkező alprogramok, azaz metódusok létrehozására. A metódusok hasonlóak a c++ -ban megszokottakhoz. Visszatérési érték lehet void (üres), vagy bármely X++ -ban használható egyszerű elemi típus, vagy akár objektum is.
Kétféle paraméter átadási lehetőség van: Érték szerinti : (nincs kulcsszó)
X++ elemi típusok automatikusan érték szerint kerülnek átadásra.
A névütközésekre nincs támogatás, tehát nem használhatunk névtereket, modulokat... Ezt azt jelenti, hogy az osztály nave a rendszerben egyedi kell legyen.
A nyelv nem ad rá lehetőséget.
Konverziós operátor: implicit vagy explicit kasztolásra van lehetőség. Az elemei
típusok leírásánál szerepelnek az automatikus lehetőségek, azonban a C++ féle
típuskényszerítés módja is használható.
Például: int i = (Int) '1'; Beépített konverziós rutinok is segítik ezt a fajta
műveletet. Néhány ilyen függvény: str2int, int2str, num2str, str2num, enum2str,
str2enum...
Az utód osztályban felülírható az ős osztályból származó tagfüggvény:
A felülírást X++ -ban csak virtuálisan felülírt (override) módon lehet megtenni.
Bár a nyelvben nem jelöljük külön a virtuális metódusokat, alapértelmezetten minden osztály virtuálisként van definiálva.
Az újradefiniált leszármazott metódusból az ősosztály metódusát a super(); hívással tudjuk elérni.
Virtuális metódus újraimplementálása az override kulcsszóvaltörténik.
A nyelv támogatja a rekurziót, önnmagát hívó metódusok implementálására van lehetőség.