Witam,
Chciałbym, by moja funkcja w klasie przyjmowała opcjonalnie argument domyślny. Wiem, że mogę stworzyć dwie funkcje robiące prawie to samo i skorzystać z przeciążenia nazw funkcji, ale to rozwiązanie mi się nie podoba i wolę przyjąć argument domyślny i nie dublować kodu.
main.cpp
#include<iostream>
#include "klasa.h"
using namespace std;
int main()
{
funkcja();
funkcja(3);
return 0;
}
class klasa {
public:
void funkcja(int);
};
klasa.h
#include <iostream>
#include "klasa.h"
using namespace std;
void klasa::funkcja(int domyslny = 0) {
cout << "Podany argument: " << domyslny << endl;
}
klasa.cpp
g++ -o main main.cpp klasa.cpp
main.cpp: In function ‘int main()’:
main.cpp:7:11: error: ‘funkcja’ was not declared in this scope
make: *** [all] Błąd 1
Pozdrawiam,