HOWTO · C++
클래스의 C++ 도우미 함수
이 자습서에서는 C++의 클래스에서 도우미 함수를 구현하는 방법을 보여 줍니다.
이 자습서에서는 C++의 클래스에서 도우미 함수를 구현하는 방법을 보여 줍니다.
클래스의 C++ 도우미 함수
도우미 함수는 최종 사용자가 인스턴스화하지 않지만 내부적으로 다른 클래스 내에서 사용되는 유용한 기능을 제공하는 함수입니다. 함수가 클래스의 멤버가 아니라 다른 클래스인 경우 C++ 프로그램은 다른 목적으로 데이터를 인쇄하거나 사용하는 도우미 함수를 만듭니다.
도우미 함수는 일반적으로 클래스의 작성자가 제공하며 클래스의 표현에 직접 액세스할 필요가 없습니다. 도우미 함수를 구현하는 C++의 예를 살펴보겠습니다.
#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;
}
위의 코드는 클래스의 헬퍼 함수를 사용하여 두 벡터를 비교합니다. 두 벡터가 같지 않을 때 이 코드의 출력은 다음과 같습니다.
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 !
그리고 벡터가 같으면 벡터 값을 다음과 같이 변경합니다.
vector1.assign(7, 3);
vector2.assign(7, 6);
에게:
vector1.assign(7, 3);
vector2.assign(7, 3);
이 경우 출력은 다음과 같습니다.
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!
마지막 줄은 else 조건에서 왔기 때문에 무시할 수 있습니다. 비균등 시나리오에 대해 설정됩니다. 예를 들어 값이 다음과 같은 경우:
vector1.assign(7, 6);
vector2.assign(7, 3);
이러한 값의 출력은 다음과 같습니다.
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!