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();
}
#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