Vad är det som jag inte ha fattat? [C++]
Övar på ett gammalt prov och jag kommer ingenstans känns det som.
Antag följande klassdeklaration:
class Time
{
public:
Time(int h, int min, int s);
private:
int h;
int min;
int s;
};
Implementera konstruktorn.
Lägg till och implementera default konstruktor.
Lägg till och implementera << operatorn.
Lägg till och implementera additionsoperatorn som adderar två Time objekt.
Hur kunde du ändra på klassen så att objekt av den använde mindre minne, medan
vissa operationer kanske krävde mera processortid?
Är helt förbryllad, vad är skillnad mellan konstruktorn och default konstruktor?
Lägg till och implementera << operatorn. Vad är detta? Skall det kanske vara en cout funktion eller en print funktion?
Här e iaf mitt försök. Jag vet att det är klumpigt och att Time objekten adderas på helt fel sätt.
#include <iostream>
using namespace std;
class Time
{
public:
Time(int h, int min, int s);
Time();
~Time();
int timme (void) {return timmar;}
int minut (void) {return minuter;}
int sekund (void) {return sekunder;}
int timmar, minuter, sekunder;
private:
int *hour;
int *minutes;
int *seconds;
};
Time::Time(int h, int min, int s)
{
timmar = h;
hour = new int[h];
minuter = min;
minutes = new int[min];
sekunder = s;
seconds = new int[s];
};
Time::Time()
{
};
Time::~Time()
{
};
int main()
{
Time idag (21,11,31);
Time igår (11,11,11);
cout << "klockslag adderade: " << idag.timme() + igår.timme() << ":" << idag.minut() + igår.minut() << ":" << idag.sekund() + igår.sekund() << endl;
}
Det som petar mig mest är att jag ändrade namnen på de privata datamedlemmarna. För att jag komma frammåt. Hur skall jag ta mig till för att lättast lösa denna uppgift?