Ezt operator unsigned short int hányféleképpen lehet meghívni?
Egyszer már körüljártad a témát nem? :D
Én személy szerint nem értem mit keres ott egy operátor, nem éppen általános. Tudod egyáltalán mi az az operátor? Vagy mutatnál egy példát mikor egy operátor a típus előtt szerepel?
Egyáltalán ez milyen nyelv? Tudod mennyiben van unsigned short int?
C++.
Ez a függvény mikor hívódik meg?
operator unsigned short()const;
És hányféleképpen tudod meghívni?
class cX {
public:
cX(): i(4) {}
int i ;
operator unsigned short()const {
....return (int) this->i; }
};
void f(int);
int main() {
....cX x;
long o = x; //így tudom meghívni.
o = o + x //Így szintaxis hiba. Nem értem.
o = x.operator unsigned short(); // így jó.
f(x) //Így is szintaxis hiba.
//Hogy lehet még ezt meghívni?
....return 0; }
void f(int f) {}
Vagyis így nem akar jó lenni:
//main.cpp
# include <iostream>
class cX {
public:
cX(): i(4),k(8) {}
unsigned short i;
unsigned long k;
operator unsigned short()const { std::cout << "operator unsigned short \n";
return (unsigned short) this->i; }
operator unsigned long()const { std::cout << "operator unsigned short \n";
return (unsigned long) this->i; }
};
void f(unsigned long f) {}
int main() {
cX x;
unsigned short g = 8 + x + x;
f(x);
std::cout << g << std::endl;
return 0; }
Csak akkor működik jól ha az egyik operatort törlöm onnan.
ambigous hibaüzenetek jönnek.
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!