Hej miałem takie zadanko do zrobienia, możecie sprawdzić czy jest poprawne.
Praktycznie identycznie zrobiłem zadanie na kolokwium. Zadanie kompilowało i zwracało takie same wyniki jak teraz. Po skończeniu kolokwium, trzeba było samą klasę wrzucić na stronę i ten wykładowca ma potem "automatyczną sprawdzarkę" która przyznaje punkty za zrobione zadanie. Wygodny strasznie :/ Wyszło, że mój program się nie kompiluje :)
Ciało porusza się ruchem jednostajnym z prędkością v pokonuje w czasie t drogę s= vt. Napisz klasę Velocity reprezentującą ciało poruszające się z prędkością v. Zaimplementuj:
- Stałą metodę distance, która przyjmujęczas t i zwraca drogę s.
- Stałą metodę time, która przyjmuję drogę s i zwraca czas t.
- Stałą bezargumentową metodę velocity zwracah aca prędkość v
- Metodę velocity, która przyjmuje i ustawia nową prędkość v.
Nowoutworzony obiekt reprezentuje ciało o prędkości jeden. Klasa powinna być przygotowana do użycia w przykładowym programie poniżej. Klasa nie korzysta z żadnych plików nagłówkowych.
przykładowy program
int main(){
Velocity velocity;
cout << velocity.velocity() << " "
<< velocity.distance(1.5) << " "
<< velocity.time(7.5) << endl;
velocity.velocity(2.5);
cout << velocity.velocity() << " "
<< velocity.distance(1.5) << " "
<< velocity.time(7.5) << endl;}
Mój program:
#include <iostream>
using namespace std;
class Velocity{
public:
double const distance(double x){
double s = v*x;
return s;
}
double const time(double x){
double t = x/v;
return t;
}
const velocity(){
return v;
}
void velocity(double x){
v = x;
}
private:
double v = 1.;
};
int main(){
Velocity velocity;
cout << velocity.velocity() << " "
<< velocity.distance(1.5) << " "
<< velocity.time(7.5) << endl;
velocity.velocity(2.5);
cout << velocity.velocity() << " "
<< velocity.distance(1.5) << " "
<< velocity.time(7.5) << endl;
return 0;
}