본문 바로가기
언어 정리/C++_개념_lib

디폴트 파라미터, 함수포인터

by 알 수 없는 사용자 2024. 1. 22.

 

 

 


디폴트 파라미터 예시

#include <iostream>
using namespace std;

class Foo
{
  public:
    string nName;
  public:
    Foo(string s="NONE"){
        nName=s;
    }
    void SetName(string name="Jon")
    {
      nName = std::move(name);
    }
};

int main()
{
  cout << "---------------------" << endl;
  Foo* ba = new Foo;
  cout<<ba->nName<<endl;    // NONE

  cout << "---------------------" << endl;
  Foo baba;
  cout<<baba.nName<<endl;   // NONE

  baba.SetName();
  cout<<baba.nName<<endl;   // Jon
}

 

 

 


함수 포인터 예시

#include <iostream>
#include <array>
using namespace std;

bool isEven(const int &number) {
    return number % 2 == 0;
}

bool isOdd(const int &number) {
    return number % 2 == 1;
}

void printNumbers(const array<int, 10> &my_array, bool(*check_fcn)(const int &)) {
    for (auto element : my_array) {
        if (check_fcn(element) == true) {
            cout << element << " "; // 숫자 사이에 공백 추가
        }
    }
    cout << endl;
}

int main() {
    array<int, 10> my_array{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    printNumbers(my_array, isEven); // 짝수인 원소만 출력
    printNumbers(my_array, isOdd);  // 홀수인 원소만 출력
}

 

 

 

 

 

 

 

 

'언어 정리 > C++_개념_lib' 카테고리의 다른 글

std::move()  (1) 2024.01.22
인수 전달  (0) 2024.01.16
vector  (0) 2024.01.16
for-each  (0) 2024.01.16
enum, 구조체  (0) 2024.01.16

댓글