less than 1 minute read

개요

Interface란?
=> 한마디로 인터페이스는 Method 원형들의 집합에 이름을 붙인 것으로, 상속 받을 클래스에 기능이나 속성을 지정하는 역할을 합니다.
C#이나 Java같은 다른 OOP언어에서는 인터페이스 형식을 제공하지만, C++에서는 인터페이스 형식을 제공하지 않고 순수 가상 Method를 이용하여 정의할 수 있습니다.

C#에서 인터페이스 -> C# Interface

예제


InterFace

#pragma once
__interface ITest
{
	virtual void ShowText();
};


Main Class.h

#pragma once
#include <iostream>
#include "ITest.h"

class TestCpp : public ITest
{
public:
	void ShowText() { std::cout << "Test Interface in C++" << std::endl; };
};

class MainTest
{
public:
	void ShowInfo(ITest* _test) { _test->ShowText(); };
private:

};


Main Class.cpp

#include "TestCpp.h"
int main()
{
	MainTest _mainTest;
	TestCpp _testCpp;

	_mainTest.ShowInfo(&_testCpp);
}


전체 소스코드

#pragma once
#include <iostream>
#include "ITest.h"

class TestCpp : public ITest
{
public:
	void ShowText() { std::cout << "Test Interface in C++" << std::endl; };
};

class MainTest
{
public:
	void ShowInfo(ITest* _test) { _test->ShowText(); };
private:

};

int main()
{
	MainTest _mainTest;
	TestCpp _testCpp;

	_mainTest.ShowInfo(&_testCpp);
}

build result

Test Interface in C++



Top