- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Random25: Windows 11 telepítés Pendriveról
- VoidXs: Tényleg minden játék optimalizálatlan?
- gerner1
- Magga: PLEX: multimédia az egész lakásban
- Hieronymus: Három júniusi képem
- Viber: ingyen telefonálás a mobilodon
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
bpx
őstag
válasz
norbiphu #102 üzenetére
#include <iostream>
class T{
char* t;
public:
T(char* z) {
t=new char[strlen(z)+1];
strcpy(t,z);
t[strlen(z)]='\0';
// tulcimezted a tombot, nem kell a +1, mert 0-tol indul a cimzes
}
~T() {
if (t!=NULL) delete[] t;
// destruktort eszedbe ne jusson enelkul megirni, kulonben ugy szall el, hogy csak na}
// ehhez persze param. nelkuli konstruktor is kell, ami beallitja NULL-ra akkor is, ha nem csinalsz semmit
};
int main() {
T A(''323232'');
}
[Szerkesztve] -
FehérHolló
veterán
válasz
norbiphu #102 üzenetére
Kicímzel a tömbből a '\0' berakásánál. A legnagyobb index strlen(z).
Másrészt ezzel egy nagyobb baj is van. Ha z alapból nem nullterminált, akkor nem működik rá a strlen() függvény. Ha pedig z nullterminált, akkor szükségtelen a t végére berakni egy '\0'-t.
A harmadik gond pedig a main()-en belül az A objektum inicializálásánál van. A () zárójelbe nem két ''-t (shift+1) kell rakni, hanem egy ''-t (shift+2). De ha így adod be neki a stringet, akkor zárd le '\0'-al, és nem lesz baja a konstruktornak sem. (A két első hibát kiküszöbölöd.)
Szerk: Jé, most látom, hogy két shift+1 egymás mellett ugyanúgy néz ki, mint a shift+2, ha code blokkba rakom.
[Szerkesztve]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- PlayStation 5
- ThinkPad (NEM IdeaPad)
- Mobil flották
- Kerékpárosok, bringások ide!
- Azonnali notebookos kérdések órája
- BestBuy topik
- Tarr Kft. kábeltv, internet, telefon
- Nvidia GPU-k jövője - amit tudni vélünk
- Home server / házi szerver építése
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- További aktív témák...
- INGYEN POSTA - ÚJ GAMER PC - i5-14400F - RTX 4060Ti - 16GB RAM - 1TB SSD - www.olcsogamerpc.hu
- Eszpresszóképes kávéfőző 15 bar nyomással
- AMD GAMER PC! Ryzen 5900X / RX 6800 XT / B550 / 32GB 3200MHz / 1TB Gen4 / 700w Gold! BeszámítOK
- Latitude 5420 27% 14" FHD IPS érintő i5-1145G7 16GB 256GB NVMe ujjlolv IR kam gar
- Lenovo ThinkVision P27u 4k-s kifogástalan állapotú monitor féláron!!!
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- AKCIÓ! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2070 8GB GDDR6 Rampage Shiva Zalman 500W
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- LG 48C3 - 48" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest