In effetti non ho mai usato "-", ma sempre "_", però inconsapevolmente, grazie dell'osservazione.
Adesso vediamo se ho capito (premesso che ho sentito parlare di overload, ma devo andare a "studiarmelo" per capirne a fondo le potenzialità).
Riscrivo tutto da capo:
che poi nel programma principale diventacodice:class materiale1 { public: //tentativo di implementare l'overload di "=" //seguendo un esempio trovato col simbolo "+" materiale1 operator=(const materiale1& m1) { materiale1 mtemp; mtemp.valore1 = m1.valore1; mtemp.valore1_1 = m1.valore1_1; mtemp.valore1-2 = m1.valore1_2; return mtemp; } void scegli();//sceglie la classe del materiale e assegna il valore a valore1 double out_valore1_1();//restituisce valore1_1 double out_valore1_2();//restituisce valore1_2 private: double valore1; double valore1_1; double valore1_2; } class materiale2 { public: //tentativo di implementare l'overload di "=" //seguendo un esempio trovato col simbolo "+" materiale2 operator=(const materiale2& m2) { materiale2 mtemp; mtemp.valore2 = m2.valore2; mtemp.valore2_1 = m2.valore2_1; mtemp.valore2-2 = m2.valore2_2; return mtemp; } void scegli();//sceglie la classe del materiale e assegna il valore a valore2 double out_valore2_1();//restituisce valore2_1 double out_valore2-2();//restituisce valore2_2 private: double valore2; double valore2_1; double valore2_2; } class mat_composto { public: mat_composto(materiale1 mat1in,materiale2 mat2in) { mat1=mat1in; mat2=mat2in; } double resistenza(altri parametri...) { double val; val=mat1.out_valore1-1(); //etc } private: //eventuali variabili private da definire }
codice:int main() { materiale1 mat1; materiale2 mat2; //... mat_composto matcom(mat1,mat2); double res=matcom.resistenza(altri parametri); return 0; }

Rispondi quotando