void OnTick() { //---8 double miprecioc,mipreciov,mbruto; OrdenPlanificada miorden1 (10.0,12.5,500) ; miorden1.incrementaPreciocompra(0.15); miorden1.decrementaPrecioventa(0.33); miprecioc=miorden1.getPreciocompra(); mipreciov=miorden1.getPrecioventa(); // mbruto=miorden1.getMargenBruto(); no seas bruto, es un método/función privada, da error en compilación. // OrdenPlanificadaconFecha miordenf1 (11.0,13.5,500) ; no sé cómo hacer que el constructor hijo, llame al padre. He probado todo lo del chat gpt, pero nada de nada. //DASHBOARD Comment("PRECIO COMPRA : ",miprecioc,"\n", "PRECIO VENTA : ",mipreciov, "\n", "MARGEN BRUTO : ",mbruto, "\n" ); } //+------------------------------------------------------------------+ class OrdenPlanificada { protected: double preciocompra; double precioventa; int numerodeTitulos; public: double incrementaPreciocompra(double incremento); double decrementaPreciocompra(double decremento); double incrementaPrecioventa(double incremento); double decrementaPrecioventa(double decremento); double getPreciocompra (void); double getPrecioventa(void); OrdenPlanificada(double prc,double prv,int numt); private: double getMargenBruto (void); }; double OrdenPlanificada::incrementaPreciocompra(double pincremento){ double valorfinal; valorfinal=(preciocompra=preciocompra+pincremento); return (valorfinal); } double OrdenPlanificada::decrementaPreciocompra(double pdecremento){ double valorfinal; valorfinal=(preciocompra=preciocompra-pdecremento); return (valorfinal); } double OrdenPlanificada::incrementaPrecioventa(double pincremento){ double valorfinal; valorfinal=(precioventa=precioventa+pincremento); return (valorfinal); } double OrdenPlanificada::decrementaPrecioventa(double pdecremento){ double valorfinal; valorfinal=this.getMargenBruto(); // esto es una chorradica, pero es para probar que accede a función privada. valorfinal=(precioventa=precioventa-pdecremento); return (valorfinal); } double OrdenPlanificada::getPreciocompra(void){ return (preciocompra); } double OrdenPlanificada::getPrecioventa(void){ return (precioventa); } OrdenPlanificada::OrdenPlanificada(double pc,double pv,int pnum) { preciocompra=pc; precioventa=pv; numerodeTitulos=pnum; } double OrdenPlanificada::getMargenBruto (void) { return ((this.getPreciocompra()-this.getPrecioventa()) * this.numerodeTitulos); } //------------ clase derivada ------- class OrdenPlanificadaconFecha : public OrdenPlanificada { protected: datetime fechafin; public: int setFechafin (datetime pfecha); OrdenPlanificadaconFecha (double prc,double prv,int numt) ; //Exige que la redefina con los mismos parámetros, ¿? }; /* OrdenPlanificadaconFecha (double pc,double pv,int pnum):OrdenPlanificadaconFecha(double pc,double pv,int pnum) { this.preciocompra=pc; this.precioventa=pv; this.numerodeTitulos=pnum; }*/ int OrdenPlanificadaconFecha::setFechafin(datetime pfecha) { this.fechafin=pfecha; // this.getMargenBruto(); me dice claramente en compilación cannot access private member function return (1); }