Witam, dopiero zaczynam naukę programowania w C++ i mam kilka pytań do tego kodu:
#include <iostream>
using namespace std;
class Funkcje{
//public:
int silnia(int n){
if(n==0) return 1;
else if(n==1) return 1;
else return n*silnia(n-1);
}
};
class Liczby{
public:
int x;
int y;
Liczby(){
x=5;
y=9;
}
};
int main(){
Funkcje a;
Liczby o1;
cout << a.silnia(o1.y-o1.x) << endl;
cout << o1.x;
return 0;
}
- Co należy dopisać tak, aby po prostu program działał? Chodzi mi o coś innego niż odkomentowanie "public" w klasie Funkcje. Czytałem o zaprzyjaźnianiu i dziedziczeniu, ale nic mi tu nie wychodzi.
- Gdybyśmy w klasie liczby zmienili int x i int y na private to nie działałaby linijka cout << o1.x; co można wtedy zrobić?
- Czy można wywołać polecenie a.silnia(o1.y-o1.x) nie tworząc obiektu a klasy Funkcje, tylko po prostu korzystać z zawartości klasy Funkcje?
Wiem, że pewnie są to rzeczy, które da się zrobić lepiej, ale na razie się uczę i interesują mnie takie szczegóły, więc byłbym wdzięczny gdyby ktoś mi pokazał jak to ma wyglądać. Z góry dziękuję :)