코딩 테스트/JUNGOL

코딩 테스트를 위한 프레임워크 구현

niamdank 2020. 10. 9. 14:34

  코딩 테스트를 위한 프레임워크 

프레임워크의 이점

문제 클래스들을 파일 단위로 분리하여 관리하고 원하는 문제 클래스만 실행할 수 있다.

 

프레임워크 구조

Base 클래스를 인터페이스로 정의하고 문제 클래스가 Base 클래스를 상속하여 해당 문제를 Code 메서드로 구현하며 main 함수에서 원하는 문제 클래스의 Code 메서드를 호출하여 실행한다.

Base
    Code : virtual function
    
Coding Test Class : Base
    Code : 코딩 테스트 문제 구현
    
main
    base : Base <- Coding Test Class
    main() -> Call base.Code

 

프레임워크 구현

Base.h

#pragma once

class Base
{
public:
	virtual void Code() = 0;
};

 

CodingTest.cpp

#include "CodingTest.h"

void CodingTest::Code()
{
	// 코딩 테스트 문제 구현
}

 

main.cpp

// 문제 클래스 바꾸는 법
// 1. 원하는 문제 클래스의 헤더를 불러온다.
// 2. codeBase에 문제 클래스를 생성한다.
#include "CodingTest.h"

int main()
{
    Base* codeBase = new CodingTest();
    codeBase->Run();

    delete codeBase;
}