Operator (programiranje)U računalnom programiranju, operator je računalni konstrukt definiran unutar programskog jezika, koji se ponaša poput funkcije, ali se razlikuje sintaksom. Operatori se razlikuju prema broju operanada koje primaju i prema tipu podatka koji vraćaju kao rezultat. Unarni operatoriUnarni operatori primaju jedan operand. To su:
Binarni operatoriBinarni operatori primaju dva operanda. To su:
Ternarni operatoriTernarni operatori primaju tri operanda. U računarstvu postoji jedan ternarni operator:
Preopterećenje operatoraNeki objektno orijentirani programski jezici dopuštaju dodavanje funkcija klasama kako bi se definiralo ponašanje operatora u ne-standardnim uvjetima. Primjer je uporaba operatora + na tipu string u svrhe konkatenacije ('ab' + 'cd'='abcd'). Programski jezik C++ zadano dopušta uoprabu operatora + na stringu. Kod niže pisan u C++-u definira klasu Kompleksni i razne preopterećene operatore: class Kompleksni{
public:
double re, im; //kompleksni broj sadrži realni i imaginarni dio
Kompleksni(){}
Kompleksni(double x, double y) : re(x), im(y) {} //preopterećenje konstruktora
Kompleksni operator +(double re); // preopterećenje: kompleksni + double (ali ne obrnuto)
};
//članska funkcija (deklarirana iznad) - dopušta kompleksni + double ALI NE obrnuto
Kompleksni Kompleksni::operator +(double re){
return Kompleksni(this->re + re, im);
}
//preopterećenje: ne-članska funkcija - dopušta double + kompleksni
Kompleksni operator +(double re, Kompleksni Z){
return Z + re; // već definirano članskom operatorskom funkcijom
}
// preopterećenje prefiks operatora ++ (++i)
Kompleksni& Kompleksni::operator ++(){
++re;
++im;
return *this;
}
// preopterećenje sufiks operatora ++ (i++)
Kompleksni Kompleksni::operator ++(int){
Kompleksni Pom = *this;
re++;
im++;
return Pom;
}
// preopterećenje operatora za unos kompleksnog broja
istream& operator >>(istream& ulaz, Kompleksni& Z){
ulaz >> Z.re >> Z.im;
return ulaz;
}
// preopterećenje operatora za ispis kompleksnog broja
ostream& operator <<(ostream& izlaz, Kompleksni Z){
izlaz << Z.re << " + " << Z.im << "i";
return izlaz;
}
Izvori |
Portal di Ensiklopedia Dunia