setwidth()
est une fonction de membre de la classe Box
et il est également fonction d'ami de classe Sbox
qui établit les valeurs des membres width
des deux classes.Définition d'une valeur par une fonction ami qui est une fonction de membre d'une autre classe
La valeur de width
de la classe Sbox
ne s'affiche pas correctement.
#include<iostream>
using namespace std;
class Sbox;
class Box{
private:
double width;
public:
friend void printwidth(Box box);
void setwidth(Sbox sbox, double wid);
};
class Sbox {
private:
double width;
public:
friend void Box::setwidth(Sbox sbox, double wid);
void printwidth() {
cout << "the width of small box: " << width; //this value is coming wrong
}
};
void Box::setwidth(Sbox sbox, double wid) {
width = wid;
sbox.width = wid;
}
void printwidth(Box box) {
cout << "width of the box: " << box.width << endl;
}
int main() {
Box box;
Sbox sbox;
box.setwidth(sbox, 10.77);
printwidth(box);
sbox.printwidth();
return 0;
}
il a travaillé, Merci – falco97