C++ -ban hogyan tudom ezt megcsinálni?
Azt szeretném megcsinálni hogy van egy karaktertömböm:
char* telefonszam;
És az osztály konstruktorának ez legyen a paramétere, megcsináltam, hogy
Konstruktor(char* telefonszam) {
telefonszam = new telefonszam[9];
}
De amikor a mainben ezt beírom, hogy:
Osztaly* telefon1 = new Osztaly('204057532');
akkor ezt írja:
error: invalid conversion from 'int' to 'char*'
Hogy kellene ezt megcsinálni??? Szóval a lényeg, hogy az osztály kontruktorának a paramétere egy karaktertömb legyen és ugye a mainben betudjak, írni paraméterként, a feladat szerint ugye egy telefonszamot amit char - ként adok meg
A konkrét kérdésre válaszolva: sima idézőjelek (') közötti dolog egy számot eredményez , a rendes use-case szerint az idézőjelek közé írt betű azoosítóját valamely kódolási táblában. Tehát a 'a' kifejezés típusa egy szám ( ahogy a char is), és az a betűt jelöli. A dupla idézőjelek (") közé írt kifejezés értékelődik ki char* típussá, és az idézőjelek közé írt több karakteres szöveget reprezentálja.
További meglátások:
A konstruktorban módosítod az átadott objektumot. Amennyiben ez az Osztály osztály konstruktora, akkor a new Osztaly("204057532") kifejezés hibával fog elszállni, mert a "204057532" típusa const char*, amelynek nem adhatsz új értéket. Függvény bemeneti paraméterét megváltoztatni egyébként sem túl elegáns. Továbbá a konstruktorban átadott telefonszam értékét nem is használod, így nem igazán világos, hogy miért is adod át.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!