문제가 있습니다. 문자열과 객체가있는 클래스 논리가 있습니다. 논리 클래스에 cout<<a
이라고 쓰면이 연산자가 내 문자열을 변경합니다. 그래서 나는이 한 :연산자 << 가상 클래스 사용
logic.h
class logic
{
private:
int str;
A a;
public:
...
};
logic.cpp
...
...
cout<<*a;
...
ostream& operator<<(ostream& os, const A& A)
{
int=a.num;
return os;
}
z.h
class Z
{
public:
virtual Z* aa();
...
};
a.h을
class A: public Z
{
private:
int num;
public:
virtual Z* aa();
...
};
과 내가 이러한 오류 있어요 : '{'토큰 (on class A:public Z {
) ISO 전에
예상 클래스 이름을 C++ 'Z'어떤 유형의 선언, 'Z'는 '가상'필드로 선언를 금지, 예상 '; '*'토큰을 받기 전에 (모든 가상의 A에서 작동)
나를 도와 줄 수 있습니까?
음, 존재하지 않는 클래스를 상속받을 수 없습니다. 무엇을 성취하려고합니까? – Overv