Mam całkiem prosty prosty programik w ramach ćwiczeń.
Klasa tablica - tworząc obiekt podaję ilość elementów tablicy, jeśli nie podam ilości to domyślnie tworzy się 10 elementów. Problem jest z funkcją wypisującą elementy. Jej parametrem jest ilość elementów do wypisania, natomiast chciałbym, żeby przy wywołaniu bez argumentów wypisała wszystkie - każdy obiekt ma informację jaka jest długość tablicy (w zmiennej _length) i ją chciałem wykorzystać jako argument domniemany, ale niestety kompilator protestuje. Czy w ten sposób można wykorzystać tylko zmienne statyczne ?
#include <iostream>
using namespace std;
class tablica {
public:
tablica(int length=defaultLength){
_length=length;
_array = new int [_length];
for(int i=0;i<length;i++){
_array[i]=i;
}
}
~tablica(){
delete [] _array;
}
void print (int howmany= _length){ //tutaj
for (int i=0;i<howmany;i++){
cout<<" "<<_array[i];
}
cout<<endl;
}
private:
int * _array;
int _length;
static const int defaultLength =10;
};
int main (){
tablica moja (7);
moja.print();
return 0;
}