하위 클래스가 각각 별도의 파일에있는 기본 추상 클래스를 C++로 만들고 싶습니다. 내 추상 클래스는 다음과 유사합니다.C++의 추상 클래스 및 클래스 구성
이 간단한 구현을 전체적으로 헤더 파일에 포함해야합니까? 그렇다면 .cpp 파일을 연결해야합니다.
하위 클래스를 만들 때 헤더 파일을 어떻게 표시해야합니까? 나는 누군가가 내가 올바르게 접근하고 있는지 확인 할 수
#include "Process_Base.h"
class Hello_Process : public Process_Base{
void process(){
printf("%s\n", "Hello, World");
}
}
처럼 보일 것이다 서브 클래스에 대한 .cpp 파일을 생각하고, 그렇지 않으면 것은 내가 일을해야 무엇을 간단한 예제를 제공했다.
UPDATE
나는 구현을 계속하지만 지금
g++ -c -Wall -g Process_Message.cpp
Process_Message.cpp:4: error: expected class-name before ‘{’ token
다음은 추상 클래스 헤더
// Abstract header .hpp file
class Process_Base{
public:
virtual void process() = 0;
};
서브 클래스 헤더 인 다음과 같은 컴파일러 오류를 얻고있다
// The subclass header .hpp file
#include "Process_Base.hpp"
class Process_Message : public Process_Base {
public:
void process();
};
내가 오류를 얻고있다 왜 이해가 안 구현
// Simple implementation .cpp file
#include <stdio.h>
#include <string.h>
class Process_Message : Process_Base {
public:
void process(){
printf("%s", "Hello");
}
}
, 누군가가 설명해주십시오 수 있습니다.
서브 클래스는 해당 헤더 파일에 추가 방법 등을 선언해야 잘 컴파일해야한다. 추상적 인 경우 기본 클래스에 필요한 cpp 파일이 없습니다. 지금까지 좋아 보인다! – Martin
기본 클래스에는 가상 소멸자가 필요합니다. – juanchopanza
클래스의 닫는 괄호 뒤에 세미콜론을 삽입해야합니다. 그 것처럼 : class A {}; – tkhomas