다른 모듈에서 기본 클래스 생성자 호출

user2889159

나는 두했습니다 보자 .cpp파일 : a.cppb.cpp다음과 같은 클래스 defenition를 포함하는 :

//a.cpp
class A
{
public:
    A(){ \\some actions }
}
//b.cpp
class A;

class B : A
{
public:
    B():A(){ \\some actions }
}

하지만 컴파일 시간에 오류가 발생했습니다. 오류 설명은 다음과 같습니다.

ConcreteSubject.cpp : 5 : 25 : 오류 : '클래스 제목'불완전한 유형의 사용이 잘못되었습니다. ConcreteSubject.cpp : 3 : 7 : 오류 : '클래스 제목'의 앞으로 선언 ConcreteSubject.cpp : 생성자 'ConcreteSubject :: ConcreteSubject ()' : ConcreteSubject.cpp : 21 : 38 : 오류 : 'Subject'유형은 'ConcreteSubject'의 직접적인 기반이 아닙니다.

피할 수 #include "a.cpp"있습니까?

모 히트자인

A의 클래스 선언을 헤더 파일로 이동하고 해당 헤더 파일을 파일에 포함해야 b.cpp합니다. 이렇게하지 않으면 b.cpp 컴파일 단위는 클래스 A에 의해 구현 된 (명시 적으로 또는 암시 적으로) 생성자의 목록을 알 수있는 방법이 없습니다.

cpp 파일을 포함하는 것은 좋은 생각이 아닙니다. 이러면 안됩니다.

//a.h
class A
{
public:
    A();
}

//a.cpp
A::A(){ \\some actions }

//b.cpp
#include "a.h"

class B : A
{
public:
    B():A(){ \\some actions }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파생 클래스 생성자에서 기본 클래스 생성자 호출

분류에서Dev

모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

분류에서Dev

다른 클래스 (다른 모듈에서)에서 자체 변수 호출

분류에서Dev

생성자에서 호출 된 메서드는 파생 클래스가 아닌 기본 클래스에서 호출됩니다.

분류에서Dev

파생 클래스에서 오버로드 된 기본 생성자 호출

분류에서Dev

자바는 기본 클래스에 다른 클래스의 빈 메소드를 호출?

분류에서Dev

Android의 다른 클래스에서 기본 클래스 메서드 호출

분류에서Dev

하위 클래스 iOS에서 기본적으로 호출되는 생성자

분류에서Dev

다른 클래스의 이동 생성자 내부에서 이동 클래스 (기본 생성자 없음)

분류에서Dev

템플릿 파생 클래스에서 템플릿 기본 클래스의 생성자 호출

분류에서Dev

C ++ 파생 클래스는 초기화 전에 기본 클래스에서 메서드를 호출합니다.

분류에서Dev

기본 클래스의 복사 생성자를 호출하면 안됩니다.

분류에서Dev

기본 클래스 소멸자에서 파생 클래스 메서드 호출

분류에서Dev

생성자 본문에서 다른 생성자 호출

분류에서Dev

파생 클래스를 선언하는 동안 기본 클래스의 생성자가 호출됩니다.

분류에서Dev

인수 수에 따라 mixin 기본 클래스의 호출 생성자

분류에서Dev

생성자에서 호출되는 기본 클래스의 생성자는 어느 지점에서

분류에서Dev

기본 클래스에서 함수를 호출하는 다형성

분류에서Dev

파생 클래스 생성자에서 예외가 발생합니다. 기본 클래스 소멸자가 호출되지만 파생 클래스 소멸자가 아닌 이유는 무엇입니까?

분류에서Dev

C ++ 클래스에는 기본 생성자가 있으며 다음과 같은 경우 어떤 생성자가 호출됩니까?

분류에서Dev

클래스 생성자에서 Winjs 비동기 호출

분류에서Dev

전달 생성자는 기본 클래스의 복사 생성자를 2 번 호출합니다.

분류에서Dev

C ++ 파생 클래스에서 템플릿 번호가 다른 기본 클래스로 변환

분류에서Dev

내부 클래스 소멸자는 기본 클래스 소멸자 후에 호출됩니다.

분류에서Dev

C #의 다른 클래스에서 기본 양식의 함수 호출

분류에서Dev

C ++ : 파생 클래스 멤버에서 기본 클래스 메서드 호출

분류에서Dev

클래스가 unique_ptr에서 파생되는 경우 기본 생성자를 호출하는 방법

분류에서Dev

클래스에 대한 기본 생성자가 없습니다.

분류에서Dev

기본 클래스 (VB.NET)에서 파생 클래스 호출

Related 관련 기사

  1. 1

    파생 클래스 생성자에서 기본 클래스 생성자 호출

  2. 2

    모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

  3. 3

    다른 클래스 (다른 모듈에서)에서 자체 변수 호출

  4. 4

    생성자에서 호출 된 메서드는 파생 클래스가 아닌 기본 클래스에서 호출됩니다.

  5. 5

    파생 클래스에서 오버로드 된 기본 생성자 호출

  6. 6

    자바는 기본 클래스에 다른 클래스의 빈 메소드를 호출?

  7. 7

    Android의 다른 클래스에서 기본 클래스 메서드 호출

  8. 8

    하위 클래스 iOS에서 기본적으로 호출되는 생성자

  9. 9

    다른 클래스의 이동 생성자 내부에서 이동 클래스 (기본 생성자 없음)

  10. 10

    템플릿 파생 클래스에서 템플릿 기본 클래스의 생성자 호출

  11. 11

    C ++ 파생 클래스는 초기화 전에 기본 클래스에서 메서드를 호출합니다.

  12. 12

    기본 클래스의 복사 생성자를 호출하면 안됩니다.

  13. 13

    기본 클래스 소멸자에서 파생 클래스 메서드 호출

  14. 14

    생성자 본문에서 다른 생성자 호출

  15. 15

    파생 클래스를 선언하는 동안 기본 클래스의 생성자가 호출됩니다.

  16. 16

    인수 수에 따라 mixin 기본 클래스의 호출 생성자

  17. 17

    생성자에서 호출되는 기본 클래스의 생성자는 어느 지점에서

  18. 18

    기본 클래스에서 함수를 호출하는 다형성

  19. 19

    파생 클래스 생성자에서 예외가 발생합니다. 기본 클래스 소멸자가 호출되지만 파생 클래스 소멸자가 아닌 이유는 무엇입니까?

  20. 20

    C ++ 클래스에는 기본 생성자가 있으며 다음과 같은 경우 어떤 생성자가 호출됩니까?

  21. 21

    클래스 생성자에서 Winjs 비동기 호출

  22. 22

    전달 생성자는 기본 클래스의 복사 생성자를 2 번 호출합니다.

  23. 23

    C ++ 파생 클래스에서 템플릿 번호가 다른 기본 클래스로 변환

  24. 24

    내부 클래스 소멸자는 기본 클래스 소멸자 후에 호출됩니다.

  25. 25

    C #의 다른 클래스에서 기본 양식의 함수 호출

  26. 26

    C ++ : 파생 클래스 멤버에서 기본 클래스 메서드 호출

  27. 27

    클래스가 unique_ptr에서 파생되는 경우 기본 생성자를 호출하는 방법

  28. 28

    클래스에 대한 기본 생성자가 없습니다.

  29. 29

    기본 클래스 (VB.NET)에서 파생 클래스 호출

뜨겁다태그

보관