Della
#enthalten
Verwenden des
Namensraums std;
Klasse Zeit
{
privat :
int hr;
intmin ;
int sek;
öffentlich :
Zeit();
// Konstruktor
Time(
int ,
int ,
int );
// Konstruktor
void get();
Void- Show();
Zeit
Operator + (Zeit);
Zeit
Operator - (Time);
};
int main()
{
Zeit t1;
Zeit t2;
cout<< "Erste Zeit eingeben
:" ;
t1.get();
cout<< "Zweites Mal eingeben
:" ;
t2.get();
Zeit t_sum = t1 + t2;
Zeit t_diff = t1 - t2;
cout<<
"Summe" ;
t_sum.show();
cout<<
"Diff" ;
t_diff.show();
system(
"pause" );
}
Zeit::Zeit()
{
Std.=0;
min=0;
Sek = 0;
}
Zeit::Zeit (
int h,
int m,
int s)
{
h = h;
min=m;
sek = s;
}
void Time::get()
{
cout<<
"nEnter hrs:" ;
cin>>hr;
cout<<
"Geben Sie min ein:" ;
cin>>min;
cout<<
"Sek. eingeben:" ;
cin>>sek;
}
void Time::show()
{
cout<<
"Zeit ist" <
":"<
":"<
}
Zeit Zeit::
Operator + (Zeit t)
{
int h,m,s;
int- Summe;
Summe = (h + t.h)*3600 + (min + t.min)*60 + s + t.s;
s = Summe % 60;
Summe = Summe / 60;
m = Summe % 60;
h = Summe / 60;
Rückgabezeit (h, m, s);
}
Zeit Zeit::
Operator - (Zeit t)
{
int h,m,s;
int Summe1,Sum2,Summe;
Summe1 = (Std.)*3600 + (Min.)*60 + Sek.;
Summe2 = (t.h)*3600 + (t.min)*60 + t.s;
if (sum1>sum2)
sum = sum1-sum2;
sonst
Summe = Summe2-Summe1;
s = Summe %60;
Summe = Summe/60;
m = Summe % 60;
h = Summe/60;
Rückgabezeit (h, m, s);
}
Von Azm
Rose
In dieser Aufgabe wird das Definieren einer relativ einfachen C++-Klasse untersucht.
Die zu implementierende Klasse heißt Time. Es stellt alle möglichen Zeiten in einem 24-Stunden-
Zeitraum dar, einschließlich Stunden, Minuten und Sekunden. Ein unmittelbares Repräsentationsproblem ist der Umgang mit den
Zeiten morgens (am) und nachmittags (pm). Wir könnten einen separaten bool haben, der angibt,
ob die Zeit am oder pm ist. Es ist jedoch einfacher, die Stunden in Militärzeit darzustellen. Dies
bedeutet, dass die Stunden des Tages von 0 bis 23 nummeriert sind, wobei 13 13 Uhr, 14 14 Uhr
usw. ist.
Kontrollpunkte
1. Im ersten Kontrollpunkt beginnen Sie mit der Implementierung des anfänglichen Klassendesigns,
mehrere Memberfunktionen und ein „Treiber“-Hauptprogramm. Die meisten der folgenden
Anweisungen basieren auf der Verwendung von Visual Studio.
A) Wenn Sie in Visual Studio arbeiten, erstellen Sie ein neues Projekt. Schließlich werden Sie
innerhalb des Projekts drei Dateien erstellen. Diese Dateien heißen Time.h, Time.cpp
und main.cpp.
B) Beginnen Sie mit der Arbeit an Time.h. Erstellen Sie diese Datei, indem Sie
im Projektmenü die Option „Neues Element hinzufügen...“ auswählen
(oder verwenden Sie Strg+Umschalt+A). Wählen Sie den Typ der neuen Datei aus, die Sie
hinzufügen möchten
(in diesem Fall eine Header-Datei) und geben Sie ihr den Namen Zeit. Sie müssen
die Erweiterung (in diesem Fall .h) nicht in den Namen aufnehmen, da sie für . hinzugefügt wird
Sie. Das Hinzufügen der Erweiterung hat jedoch den gleichen Effekt. (Außerdem: Wenn die
Projektmappe mehr als ein Projekt enthält, müssen Sie sicherstellen, dass das richtige
Projekt im Projektmappen-Explorer markiert ist, bevor Sie die obigen Schritte ausführen.)
Klicken Sie nun auf OK. Deklarieren Sie in der Datei eine Klasse namens Time. Lesen Sie die Syntax
sorgfältig durch (z. B. das Semikolon am Ende der Klassendeklaration). Fügen Sie private
Membervariablen für Stunde, Minute und Sekunde hinzu. Deklarieren Sie im öffentlichen Bereich der
Klasse zwei Konstruktoren: Einer, der Standardkonstruktor, sollte jede
der Membervariablen auf 0 initialisieren
; der andere mit drei Argumenten akzeptiert initial
Werte für Stunde, Minute und Sekunde als Funktionsaufrufargumente. Deklarieren Sie Memberfunktionen
, um auf die Werte der Stunde, Minute und Sekunde zuzugreifen
(drei verschiedene Memberfunktionen). Für Checkpoint 3 wird es entscheidend sein,
diese Konst. (Zur Erinnerung: Eine const-Member-Funktion kann die Member-
Variablen nicht ändern .)
c) Wechseln Sie
zum Arbeiten mit main.cpp. Erstellen Sie wie oben eine neue Datei in Ihrem Projekt.
Stellen Sie sicher, dass Sie #include Time.h zusätzlich zum Einschließen von iostream Code hinzufügen.
(Warnung: Die Syntax der Include-Anweisung ist unterschiedlich. Lassen Sie das Hauptprogramm
zwei Time-Objekte erstellen, eines mit jedem Konstruktor. Zeigen Sie die Verwendung der
Funktionen, die auf die Werte von Stunde, Minute und Sekunde zugreifen, indem sie die beiden
Zeiten ausdrucken.
D) Wechseln Sie zum Arbeiten an Time.cpp. Erstellen Sie wie oben eine neue Datei in Ihrem Projekt.
Vergessen Sie nicht, die Zeile zu #include Time.h hinzuzufügen. Implementieren Sie die Konstruktoren und
Memberfunktionen.
E) Kompilieren Sie nun Ihr Programm und beseitigen Sie Fehler. Hier ist der Unterschied
zwischen Kompilieren und Verknüpfen wichtig.
Für Visual Studio-Benutzer können Sie jede der beiden .cpp-Dateien einzeln
kompilieren (die .h-Datei wird nicht separat kompiliert), indem Sie Strg-F7 eingeben, wenn der Bereich mit
dieser Datei aktiv ist. Auf diese Weise können Sie Compilerfehler für jeden anzeigen und entfernen
einzeln ablegen. (Beachten Sie, dass durch den Code in der .h-Datei verursachte Fehler Time.h
beim Kompilieren einer der .cpp-Dateien angezeigt werden.) Sie können auch mehrere
Dateien gleichzeitig kompilieren und verknüpfen,
indem Sie den Build/Build-Projektnamen verwenden. Sie müssen dies auch nach dem
Kompilieren jeder .cpp-Datei einzeln tun,
da der Befehl Strg-F7 keine Verknüpfung
zum Erstellen eines ausführbaren Programms herstellt.
Genesis
Schreiben Sie ein C++-Programm, das eine Klasse namens Time mit drei Datenelementen enthält. · Stunden · Minuten · Sekunden Die Klasse muss haben · Einen standardmäßigen und parametrisierten Konstruktor · show()-Methode, um die Zeit im richtigen Format wie HH:MM:SS auf dem Bildschirm anzuzeigen · get()-Methode, um die Zeit vom Benutzer zu erhalten · Überladenes Plus (+) und Minus (-) Operatoren · Ein Destruktor Sie werden die Operatoren + und - für diese Klasse überladen. Erstellen Sie im Hauptprogramm 3 Objekte der Time-Klasse time1, time2 und time3 und rufen Sie die get()-Funktionen für time1 und time2 auf, führen Sie dann time3 = tim1+time2 aus und dann zeigen Sie time3 mit seiner show()-Funktion an.