Hirdetés
- Milyen okostelefont vegyek?
- Az iPhone 17 gáncsolta el a Galaxy S26 Prót?
- Mobil flották
- Apple iPhone 17 Pro Max – fennsík
- Huawei Watch GT - kimerülés, nem lemerülés
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Samsung Galaxy A56 - megbízható középszerűség
- Huawei P30 Pro - teletalálat
- TCL 50 NxtPaper 5G - átgombolom magam monokrómiába
- Szárba szökkentek a pletykák a Galaxy Buds 4-es szériát illetően
Ú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!
- Gyúrósok ide!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Azonnali fáradt gőzös kérdések órája
- Billiós befektetéssel bővül a Samsung magyarországi akkugyára
- Vezetékes FEJhallgatók
- Kormányok / autós szimulátorok topikja
- Soundbar, soundplate, hangprojektor
- Torrent meghívó kunyeráló
- BestBuy topik
- Milyen Android TV boxot vegyek?
- További aktív témák...
- GYÖNYÖRŰ iPhone SE 2020 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3920, 100% Akksi
- AKCIÓ! HP Victus Gaming 16-S0017NH 16 notebook - R5 7640HS 32GB DDR5 1TB SSD RTX 4050 6GB WIN1
- Bomba ár! HP Revolve 810 G2 - i5-G4 I 8GB I 180GB SSD I 11,6" HD Touch I Cam I W10 I Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPhone XR / 128GB / Kártyafüggetlen / 12Hó Garancia / 95% Akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



