1 pièce(s) jointe(s)
Comment utiliser les fonctions amies pour simuler les points de l'espace Rn?
Bonjour ! J'ai déjà un bagage en programmation orientée objet, j'ai déjà suivi un an de cours de java.
Les questions qui suivent sont donc celles d'un débutant en C++. J'essaye de faire une annale d'exament sur la simulation de points dans l'espace Rn. J'ai mis l'annale en pièce jointe. Il s'agit du deuxième exercice : voici les questions qui me posent problème et mes tentatives :
J'ai du mal avec les fonctions amies et j'ai déjà un problème en mettant la calsse PointRn comme public.
Citation:
Ecrire une classe cannonique PointRn simulant les points de Rn avec:
deux attributs privés int dim et double* adr ,
- un constructeur,
- un destructeur,
- un constructeur de recopie,
- l'opérateur = .
J'ai tout fait même le constructeur de recopie, c'est la première fois que j'en ai un, je sais que ca sert à copier un objet ou faire des template.
Citation:
Munir la classe PointRn des opérateurs == , != , * , + en tant que fonctions amies.
Mais du coup :
- Comment on additionne/multiplie des points ?
- C'est quoi la différence d'== avec = ?
On me demande ensuite :
Citation:
D'Ecrire une classe abstraite boule avec: deux attributs privés PointRn centre et double rayon , et une fonction membre bool contient(point p) .
Dois-je l'écrire dans un deuxième fichier ?
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #import<iostream>
using namespace std;
public class PointRn(){
private int dim;
private double* adr;
PointRn(int dim, double* adr){
cout << "Constructeur de PointRn.\n";
this.dim = dim;
this.adr = adr;
}
PointRn(const PointRn &){
cout << "Constructeur de recopie de PointRn.\n";
}
// Comment fait on un destructeur ?
~PointRn(){
cout << "Destructeur de PointRn.\n";
}
PointRn operator = (PointRn, PointRn);
// Comment on additionne/multiplie des points ?
friend PointRn operator + (PointRn, PointRn);
friend PointRn operator * (PointRn, PointRn);
// C'est quoi la différence avec = ?
friend bool operator == (PointRn, PointRn);
friend bool operator != (PointRn, PointRn);
}
PointRn operator +(PointRn,PointRn){
}
PointRn operator *(PointRn,PointRn){
}
PointRn operator ==(PointRn,PointRn){
}
PointRn operator !=(PointRn,PointRn){
return ();
}
int main(){
} |