Aucune fonction nest appelée, puisque les opérateurs et le constructeur sont écrits en ligne. Le compilateur développe donc lexpression sous la forme :
fraction f;f.num = (1*(1*5)+(2*1)*1)*(3*1)-(1*8)*((1*5)*1);f.den = (3*1)*((1*5)*1);
à vous de le vérifier... Quant à la place mémoire occupée, cest celle de f
, soit huit octets. Si les fonctions nétaient pas écrites en ligne, il y aurait treize appels de fonctions, dont neuf appels du constructeur, et la place mémoire occupée serait (transitoirement) égale à 8*9 octets, sans compter ceux occupés par f
; cependant cette place serait restituée à la fin du calcul par neuf appels du destructeur standard, correspondant aux neuf appels automatiques du constructeur.