클래스의 C++ 도우미 함수

Sheeraz Gul 2023년10월12일
클래스의 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!
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

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