Hola amigos!
Estoy aprendiendo a programar POO por mi cuenta y quiero hacer un programa que haga los cálculos y muestre el desplazamiento de una partícula. Ahora cuando defino el método gets y compilo me da este error
" [Error] 'float Particula::vel_0' is private"
y no entiendo ¿por que? Les agradezco su ayuda.
#include <iostream>
using namespace std;
class Particula {
private:
string nombre;
float masa; //kg
float posX; // mts
float vel_0; // mts/s
float acel_0; // mts/s^2
public :
Particula(string name, float M, float X, float vel, float acel){
nombre = name;
masa = M;
posX = X;
vel_0 = vel;
acel_0 = acel;
cout << " Particula: " << nombre << endl;
cout << " Masa: " << masa << " Kg" << endl;
cout << " Posicion: " << posX << " mts" << endl;
cout << " Velocidad: " << vel_0 << " mts/s" << endl;
cout << " Aceleracion: " << acel_0 << " mts/s^2" << endl;
}
void setValores(string name, float M, float X, float vel, float acel);
float getVel();
float velocidad(float vel, float acel, float t);
};
void Particula::setValores(string name, float M, float X, float vel, float acel){
nombre = name;
masa = M;
posX = X;
vel_0 = vel;
acel_0 = acel;
}
float Particula::getVel(){
return vel_0);
}
float Particula::velocidad(float vel, float acel, float t){
vel = vel_0 + acel*t;
return vel;
}
const float g = 9.8;
int main(){
float t;
cout << endl << endl;
Particula p1("P_1", 1, 0,0,0);
cout << p1.vel_0;
cout << endl << " Tiempo: "; cin >> t;
cout << endl << " velocidad = " << p1.velocidad(0,g,t) << " mts/s";
cout << endl << endl;
system("pause");
return 0;
}