Hej!
Efter några års inaktivitet på C++ fronten så tänkte jag putsa upp mina kunskaper...
Efter lite pillande så märkte jag att
// Test.h
#ifndef _TEST_H_
#define _TEST_H_
class Time
{
private:
int hours;
int minutes;
public:
Time();
Time(int h = 0, int m = 0);
void AddMin(int m);
void AddHr(int h);
void Reset(int h = 0, int m = 0);
Time operator+(const Time & t) const;
void Show() const;
};
#endif
När jag försöker kompilera koden så får jag bl a följande fel:
....\test.h(19) : warning C4520: 'Time' : multiple default constructors specified
Och vad jag vet så är
Time(); en default constructor
Time(int h = 0, int m = 0); är en annan konstruktör
Om jag kommenterar den första konstruktören så fungerar koden.
i main() så använder jag följande:
Time A; // använder default constructor?
Time B(2, 50); // använder den konstruktör som jag har gjort
Time A;
är väl samma sak som
Time A = Time(); ?
Varför kan jag då inte skapa en Time() konstruktör?