- Milyen okostelefont vegyek?
- Átlépi végre az iPhone az 5000 mAh-t?
- Nem növel telepméretet a Galaxy S26 Ultra
- QWERTY billentyűzet és másodlagos kijelző is lesz a Titan 2-ben
- Ezek a OnePlus 12 és 12R európai árai
- Samsung Galaxy A54 - türelemjáték
- Yettel topik
- Apple Watch Sport - ez is csak egy okosóra
- Samsung Galaxy Watch7 - kötelező kör
- One mobilszolgáltatások
Aktív témák
-
dearbear
tag
Hali!
Azért kell nullával egyenlővé tenni, mert ezzel egyértelműen jelzed, hogy absztrakt osztályról van szó. ( Ha jól emléxem az osztályhoz tartozó függvények pointerei mind nullok lennének, ami érvénytelen cím minden architektúrán, tehát példányosíthatatlanná teszi az osztályt. )
Bye! -
BaLinux
tag
Hali!
Absztrakt szülőosztály:
class abstractString{
(ide is jöhetne a char *s;)
public:
virtual void lower()=0;
virtual void upper()=0;
virtual void change()=0;
virtual void outs()=0;
};
Tagfüggvényeket ne definiálj ehhez!
ezek után:
class dynamicString: public abstractString{
private:
char *s;
public:
dynamic();
dynamic(const char &p);
dynamic(char *p);
char *getString(){return s;};
void insert(const char *p){s=strcpy(s,p);}
virtual void outs();
virtual void lower();
virtual void upper();
virtual void change();
};
A virtualt írd ki a felüldefiniált fgv-k előtt. Innentől kezdve ugyanaz, csak még van egy staticString osztályod szintén az abstractString-ből, amit máshogy implementálsz.
sok sikert! -
khalox
őstag
Így van, az ős függvényei mind absztraktak, nincsenek definiálva, csak deklarálva.
Belőle KELL származtatni (hisz más értelme nincs is - csak tervezési mintákban), és a származtatott osztályok mondják meg a megvalósítást (ott definiálja).
Ha beszerez egy könyvet, gyorsan megvan. -
MaUser
addikt
Remélem tud valaki segíteni.
A gondom az volna, hogy megkaptuk a beadandó prog feladatokat, de sajna rendesen belenyúltam.
A feladat a következő:
Csinálni egy virtuális őst amiben csak a fv-eket deklaráljuk és kifejtjük. Ebből az ősből származtatunk egy dinamikus és egy statikus string osztályt. Ezzen pedig különböző fveket hajtunk végre. (titlecase, hány karkater stb....).
A gondom az, hogy az elejét nem tudom megvalósítani, a fv-ekkel már nem lenne gondom.
Ugyanis a tanár határozott kérése az, hogy az ősben csak a fv-ek legyenek és konkrét típus konstruktor(?) pedig ne.
Na valmi ilyen kéne:
//Ez csak egy kezdő váznak kellene, mert eddig megvan -oké nem egy nagy dolog eddig, de ha itt átlendítenétek a többivel sem lenne már gondom.//
#include <iostream.h>
#include <string.h>
#include <ctype.h>
class ancientStatik{
public:
virtual void lower(); //na ezt itt valahogy máshogy kéne:(
virtual void upper();
virtual void change();
virtual void outs();
};
void ancientStatik::lower(){
int i,g=strlen(s);
for (i=0;i<g;i++)
if (isupper(s[i]))
s[i]+=32;
}
void ancientStatik::upper(){
int i,g=strlen(s);
for (i=0;i<g;i++)
if (islower(s[i]))
s[i]-=32;
}
void ancientStatik::change(){
int i,g=strlen(s);
for (i=0;i<g;i++)
if (isupper(s[i]))
s[i]+=32;
else
s[i]-=32;
}
void ancientStatik::outs(){
int i,g=strlen(s);
for (i=0;i<g;i++)
cout<<s[i];
cout<<' ';
}
class dynamic:public ancientStatik{
private:
char *s;
public:
dynamic();
dynamic(const char &p);
dynamic(char *p);
char *getString(){return s;};
void insert(const char *p){s=strcpy(s,p);}
void outs();
void lower();
void upper();
void change();
};
dynamic::dynamic(){
s=new char;
s[0]=0;
}
dynamic::dynamic(char *p){
int len=strlen(p);
s=new char[len+1];
memcpy(s,p,len+1);
}
void main(){
dynamic t1(''ProHarDver''),t4(t1);
t4.change();
t4.outs();
}
Előre is köszönöm a segítséget, de csak négy óra múlva tudom megnézni. Nagyon örülnék ha valaki működőképessé pofozná a feltétlek szerint.
Aktív témák
Hirdetés
- Milyen okostelefont vegyek?
- Vezetékes FEJhallgatók
- Formula-1
- Fejhallgató erősítő és DAC topik
- Autós topik
- A fociról könnyedén, egy baráti társaságban
- Átlépi végre az iPhone az 5000 mAh-t?
- Digitális Állampolgárság Program DÁP
- Kerékpárosok, bringások ide!
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- 119 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!) (ELKELT)
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
- Bomba ár! Lenovo ThinkPad P50 - i7-HQ I 16GB I 256SSD I Nvidia I 15,6" FHD I Cam I W10 I Gari!
- Xiaomi Redmi A3 64GB Kártyafüggetlen, 1Év Garanciával
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest