Witam,
Plik nagłówkowy
#ifndef HEAD_H_INCLUDED
#define HEAD_H_INCLUDED
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
class rachunek_bankowy
{
private:
string nazwisko;
string nr_konta;
double saldo;
public:
~rachunek_bankowy(){};
rachunek_bankowy();
rachunek_bankowy (string & n,string & nr, double s=0.0);
void show();
void przyjmowanie (double s);
void wydawanie (double s);
};
#endif // HEAD_H_INCLUDED
Plik definicji funkcji
#include "head.h"
#include <cstring>
#include <string>
using namespace std;
rachunek_bankowy::rachunek_bankowy()
{
}
rachunek_bankowy::rachunek_bankowy(string & n,string & nr, double s)
{
nazwisko=n;
nr_konta=nr;
saldo=s;
}
void rachunek_bankowy::show()
{
cout << nazwisko << endl << nr_konta << endl << saldo;
}
void rachunek_bankowy::przyjmowanie (double s)
{
saldo+=s;
}
void rachunek_bankowy::wydawanie (double s)
{
saldo-=s;
}
Plik main
#include <iostream>
#include "head.h"
#include <cstring>
#include <string>
using namespace std;
int main()
{
rachunek_bankowy kowalski ("Kowalski","12345",);
kowalski.show();
return 0;
}
Niestety po skompilowaniu wyskakuje błąd error: expected primary-expression before ')' token. Odnoszący się do braku domyślnej wartości zdefiniowanej w pliku nagłówkowym.
Po zastąpieniu domyślnej wartości, wartością liczbową błąd znika, jednak pojawia się kolejny: no matching function for call to 'rachunek_bankowy::rachunek_bankowy(const char [9], const char [6], double)
Program działa jedynie po zdefiniowaniu zmiennych string i wprowadzeniu tych zmiennych jako argumentów funkcji. Dodatkowo nie działa bez zdefiniowania wartości domyślnej.
Prosiłbym o wskazówki jak rozwiązać te problemy.
Z góry dziękuję :)