Chapitre 2 : Classe

Vocabulaire

struct A{
	int a; //attribut d'objet
	void f(){ //Méthode
		a=3;
	}
}; // définition de classe. a et f sont des membres de la classe A.

int main(){
	A obj; // instance ou objet de la classe
    obj.f();
}

Exemple

#include<cstdio>


int pgcd(int a, int b){
	if (b==0) return a;
	return pgcd(b,a%b);
}

struct Fraction{ //classe
	int num;
   	int denum;
	// on peut définir une fonction à l'intérieur d'une struction
	void afficher(){
        if (denum == -1){
            printf("%d",-num);
        }
        else if (denum == 1){
            printf("%d\n",num);
        }
        else{
            printf("%d/%d\n",num,denum);
        }
	}
    void simplifier(){
        int d;
        d=pgcd(num,denum);
		num = num/d;
        denum = denum/d;
    }
	Fraction multiplier (Fraction f){
        Fraction produit;
        produit.num = f.num*num;
        produit.denum = f.denum*denum;
        produit.simplifier();
        return produit;
	}
	Fraction additionner(Fraction f){
        Fraction produit;
        produit.num = f.num*denum + num*f.denum;
        produit.denum = f.denum*denum;
        produit.simplifier();
        return produit;
	}
};


int main(){
	Fraction f1 = {2,3};
	Fraction f2 = {3,-2};
	//appeler la fonction à partir d'un objet
	f1.afficher();
	Fraction f3 = f1.multiplier(f2);
	f3.afficher();
	Fraction f4 = f3.additionner(f2);
	f4.afficher();
	return 0;
}

fraction.cpp