Obiecte Funcți

Curs
8/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 2 în total
Cuvinte : 493
Mărime: 5.51KB (arhivat)
Publicat de: Theodor Marginean
Puncte necesare: 0

Extras din curs

Obiecte functii (functori).

Într-o expresie, apelul unei functii este înlocuit prin rezultatul întors de functie. Misiunea functiei poate fi preluata de catre un obiect. În acest scop se supraîncarca operatorul apel de functie sub forma function operator()().

Obiectele apartinând claselor care au supraîncarcat operatorul apel de functie sunt obiecte functii sau functori.

STL prevede o serie de clase generice pentru comparatii. Clasele comparatii sunt functii binare derivate din clasa binary_function:

template <class arg1, class arg2, class rez>

struct binary_function{

typedef arg1 first_argument_type;

typedef arg2 second_argument_type;

typedef rez result_type;

};

Pentru clase unare se defineste sablonul unary_function. Exemplu:

template <class T>

struct equal_to : binary_function(T, T, bool){

bool operator()(const T& x, const T& y) const {

return x==y;

}

};

În acest mod sunt definiti functorii: equal_to<T>, not_equal<T>, greater<T>, less<T>, greater_equal(), less_equal() care asigura algoritmilor o interfata uniforma.

Astfel pentru a sorta un tablou cu functia de comparatie mai mic în valoare absoluta, vom defini:

#include <iostream>

#include <functional> // less<T>

#include <cstdlib> // abs()

struct absLess{

bool operator()(int x, int y)const{

return abs(x) < abs(y);

};

};

STL asigura, de asemenea, prin supraîncarcarea operatorului apel de functie, clase pentru operatiile aritmetice si logice. Aceste sunt: plus<T>, minus<T>, multiplies<T>, divides<T>, modulus<T>, negate<T>, logical_and<T>, logical_or<T>.

Afisati parametrii liniei de comanda, sortati în ordine invers-lexicografica.

#include <iostream>

#include <functional>

#include <string>

#include <algorithm>

using namespace std;

void main(int ac, char** av){

sort(av, av+ac, greater_equal<string>());

for(int i=0; i<ac; i++)

cout << av[i] << ” ”;

cout << endl;

}

Preview document

Obiecte Funcți - Pagina 1
Obiecte Funcți - Pagina 2

Conținut arhivă zip

  • Obiecte functii.doc

Alții au mai descărcat și

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Biblioteca de Șabloane Standard

Biblioteca de Sabloane Standard (STL) asigura o abstractizare standardizata a datelor prin intermediul containerelor si o abstractizare procedurala...

Clase Derivate

1. Clase derivate. Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi,...

Clase în Java

Clase pentru miniaplicatii Miniaplicatiile constituie extensii ale unei clase deja existente java.applet.Applet. Structura clasei unui applet...

Clase

1. Programare procedurala –Programare orientata pe obiecte. Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care...

Comunicații internet

2.1. Stilurile caracterelor {n sfirsit pagina dvs. contine ceva, chiar daca este vorba numai de un nume. Vom analiza in continuare elementele de...

Crearea unei aplicații independente în Java

Toate aplicatiile Java contin o metoda main(), spre deosebire de miniaplicatii. class FirstApp { public static void main( String argsst) {...

Curs Excel

Deplasarea prin foi Deplasarea dintr-o foaie in alta se face cu clic cu mouse-ul pe eticheta foii dorite. Deplasarea prin celule Va puteti...

Te-ar putea interesa și

Obiective și funcțiile FMI - relațiile cu țările membre

1. Istoricul FMI Fondul Monetar Internaţional – FMI (International Monetary Fund – IMF) este o instituţie financiară internaţională care în...

Sistemele de Management al Depozitului

I.Depozitele de distributie sunt spatii,respective puncte de stocare,care sunt implantate in drumul fizic al unui produs de la producator la...

Proiect de Marketing - Sacii Menajeri

1. Cercetarea pieţei combinei frigorifice În acest proiect ne-am propus să efectuăm un studiu care vizează sacii menajeri. Cercetarea de...

Obiectivele și funcțiile Fondului Monetar Internațional - relațiile cu țările membre

Introducere Fondul Monetar Internaţional este o instituţie internaţională care facilitează cooperarea interguvenamentală în domeniul monetar şi...

Introducere în cercetări operaționale

Cap 1. Introducere in Cercetari Operationale: In cadrul problemelor de programare matematica, un interes aparte li se acorda acelora care sunt...

Strategii și politici de dezvoltare promovate de instituțiile publice din România

Termenul „strategie” are o istorie multimilenară. Utilizat pentru prima dată pentru a defini „arta războiului” în China antică, în urmă cu circa...

Functile și obiectivele FMI - relațiile cu țările membre

Obiectivele şi funcţiile Fondului Monetar Internaţional Relaţiile cu ţările membre INTRODUCERE Fondul Monetar Internaţional este o instituţie...

Tehnici de comercializare și cooperare economică internațională

TCCEI True/False Acceptarea ofertei poate fi retractata daca ajunge la ofertant inainte de a fi produs efecte juridice sau chiar in acel moment.A...

Ai nevoie de altceva?