C++-Hilfsfunktion in der Klasse
Dieses Tutorial zeigt, wie Sie eine Hilfsfunktion in einer Klasse in C++ implementieren.
C++-Hilfsfunktion in der Klasse
Eine Hilfsfunktion ist eine Funktion, die nicht von den Endbenutzern instanziiert wird, aber eine nützliche Funktionalität bereitstellt, die intern in einer anderen Klasse verwendet wird. Wenn die Funktion kein Mitglied der Klasse, sondern einer anderen Klasse ist, erstellt das C++-Programm eine Hilfsfunktion, um die Daten zu drucken oder für andere Zwecke zu verwenden.
Eine Hilfsfunktion wird normalerweise vom Schreiber der Klasse bereitgestellt, die nicht direkt auf die Repräsentation der Klasse zugreifen muss. Lassen Sie uns ein Beispiel in C++ ausprobieren, das die Hilfsfunktion implementiert.
#include <iostream>
#include <vector>
template <typename Delftstack>
void print(const std::vector<Delftstack>& DemoVec) {
typename std::vector<Delftstack>::const_iterator x;
for (x = DemoVec.begin(); x != DemoVec.end(); x++) std::cout << *x << " ";
std::cout << std::endl;
}
int main() {
std::vector<int> vector1, vector2;
vector1.assign(7, 3);
vector2.assign(7, 6);
std::cout << "Vector 1 : ";
print(vector1);
std::cout << "Vector 2 : ";
print(vector2);
if (vector1 == vector2)
std::cout << "vector 1 and Vector 2 are lexicographically equal!"
<< std::endl;
else
std::cout << "vector 1 and vector 2 are lexicographically not equal!"
<< std::endl;
if (vector1 > vector2)
std::cout << "vector 1 is lexicographically greater than vector 2!"
<< std::endl;
else
std::cout << "vector 2 is lexicographically greater than vector 1!"
<< std::endl;
}
Der obige Code verwendet die Hilfsfunktion in der Klasse, um zwei Vektoren zu vergleichen. Die Ausgabe für diesen Code, wenn die beiden Vektoren nicht gleich sind, ist unten.
Vector 1 : 3 3 3 3 3 3 3
Vector 2 : 6 6 6 6 6 6 6
vector 1 and vector 2 are lexicographically not equal !
vector 2 is lexicographically greater than vector 1 !
Und wenn die Vektoren gleich sind, ändern wir die Werte der Vektoren von:
vector1.assign(7, 3);
vector2.assign(7, 6);
Zu:
vector1.assign(7, 3);
vector2.assign(7, 3);
In diesem Fall lautet die Ausgabe:
Vector 1 : 3 3 3 3 3 3 3
Vector 2 : 3 3 3 3 3 3 3
vector 1 and Vector 2 are lexicographically equal!
vector 2 is lexicographically greater than vector 1!
Die letzte Zeile können wir ignorieren, da sie aus der else
-Bedingung stammt; es ist für das Ungleichheitsszenario eingestellt. Wenn die Werte beispielsweise lauten:
vector1.assign(7, 6);
vector2.assign(7, 3);
Die Ausgabe für diese Werte ist:
Vector 1 : 6 6 6 6 6 6 6
Vector 2 : 3 3 3 3 3 3 3
vector 1 and vector 2 are lexicographically not equal!
vector 1 is lexicographically greater than vector 2!
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook