C++ 什么';s错误-应在';{';代币

C++ 什么';s错误-应在';{';代币,c++,C++,这段代码怎么了?我在“{”标记前面得到了[Error]预期的类名(Pralka.h第14行) 我知道这里有很多类似的问题。我也在谷歌上搜索过,但我无法忘记。所以我想给你看一下我的代码 我写了这段非常简单的代码来训练自己继承和虚拟函数 main.cpp: #include <iostream> #include <fstream> #include <string> #include "AGD.h" using name

这段代码怎么了?我在“{”标记前面得到了[Error]预期的类名(Pralka.h第14行)

我知道这里有很多类似的问题。我也在谷歌上搜索过,但我无法忘记。所以我想给你看一下我的代码

我写了这段非常简单的代码来训练自己继承和虚拟函数

main.cpp:

   #include <iostream>
    #include <fstream>
    #include <string>

    #include "AGD.h"

    using namespace std;

    int main() {        
    Pralka p1("polar", 1250); 
    AGD *A;
    A = &p1; 
    }
#ifndef AGD_H
#define AGD_H

#include <iostream>

#include "Pralka.h"

class AGD {

    private:

        static int liczba_sprzetow;

    public:

        AGD(){
            liczba_sprzetow++;
        }

        ~AGD(){
            liczba_sprzetow--;
        }


        static int  get_liczba_sprzetow() {
            return liczba_sprzetow;
        }

        virtual double get_cena() {
        }

};

#endif
#ifndef PRALKA_H
#define PRALKA_H

#include <iostream>
#include <string>



using namespace std;

class Pralka : public AGD
 {
    private:

        string marka;
        double cena;

    public:

        Pralka(string m, double c): marka(m), cena(c){
        }

        Pralka(){
        }
        ~Pralka(){
        }


        string get_marka() const{
            return marka;
        }

        double get_cena() const{
            return cena;
        }

        Pralka& operator=(const Pralka& Q){
         marka=Q.marka;
        cena=Q.cena;
        }

};

#endif
#包括
#包括
#包括
#包括“AGD.h”
使用名称空间std;
int main(){
普拉卡p1(“极地”,1250);
AGD*A;
A=&p1;
}
AGD.h:

   #include <iostream>
    #include <fstream>
    #include <string>

    #include "AGD.h"

    using namespace std;

    int main() {        
    Pralka p1("polar", 1250); 
    AGD *A;
    A = &p1; 
    }
#ifndef AGD_H
#define AGD_H

#include <iostream>

#include "Pralka.h"

class AGD {

    private:

        static int liczba_sprzetow;

    public:

        AGD(){
            liczba_sprzetow++;
        }

        ~AGD(){
            liczba_sprzetow--;
        }


        static int  get_liczba_sprzetow() {
            return liczba_sprzetow;
        }

        virtual double get_cena() {
        }

};

#endif
#ifndef PRALKA_H
#define PRALKA_H

#include <iostream>
#include <string>



using namespace std;

class Pralka : public AGD
 {
    private:

        string marka;
        double cena;

    public:

        Pralka(string m, double c): marka(m), cena(c){
        }

        Pralka(){
        }
        ~Pralka(){
        }


        string get_marka() const{
            return marka;
        }

        double get_cena() const{
            return cena;
        }

        Pralka& operator=(const Pralka& Q){
         marka=Q.marka;
        cena=Q.cena;
        }

};

#endif
\ifndef AGD\u H
#定义AGD_H
#包括
#包括“Pralka.h”
AGD类{
私人:
静态输入liczba_sprzetow;
公众:
AGD(){
liczba_sprzetow++;
}
~AGD(){
利兹巴·斯普泽托——;
}
静态int get_liczba_sprzetow(){
返回liczba_sprzetow;
}
虚拟双get_cena(){
}
};
#恩迪夫
Pralka.h:

   #include <iostream>
    #include <fstream>
    #include <string>

    #include "AGD.h"

    using namespace std;

    int main() {        
    Pralka p1("polar", 1250); 
    AGD *A;
    A = &p1; 
    }
#ifndef AGD_H
#define AGD_H

#include <iostream>

#include "Pralka.h"

class AGD {

    private:

        static int liczba_sprzetow;

    public:

        AGD(){
            liczba_sprzetow++;
        }

        ~AGD(){
            liczba_sprzetow--;
        }


        static int  get_liczba_sprzetow() {
            return liczba_sprzetow;
        }

        virtual double get_cena() {
        }

};

#endif
#ifndef PRALKA_H
#define PRALKA_H

#include <iostream>
#include <string>



using namespace std;

class Pralka : public AGD
 {
    private:

        string marka;
        double cena;

    public:

        Pralka(string m, double c): marka(m), cena(c){
        }

        Pralka(){
        }
        ~Pralka(){
        }


        string get_marka() const{
            return marka;
        }

        double get_cena() const{
            return cena;
        }

        Pralka& operator=(const Pralka& Q){
         marka=Q.marka;
        cena=Q.cena;
        }

};

#endif
\ifndef PRALKA\H
#定义PRALKA_H
#包括
#包括
使用名称空间std;
Pralka类:公共AGD
{
私人:
字符串标记;
双cena;
公众:
普拉卡(字符串m,双c):马克(m),塞纳(c){
}
普拉卡(){
}
~Pralka(){
}
字符串get_marka()常量{
返回marka;
}
双get_cena()常量{
返回cena;
}
Pralka和操作符=(常量Pralka和Q){
marka=Q.marka;
cena=Q.cena;
}
};
#恩迪夫

我也得到了[错误]无法在作业中将'Pralka*'转换为'AGD*'但是为什么?我不明白(main.cpp第29行)。

AGD.h
包括
Pralka.h
,但应该是相反的(
Pralka.h
应该包括
AGD.h


原因是
Pralka
需要查看
AGD
声明才能从中继承。
AGD
不需要查看
Pralka
声明。

AGD.h
包括
Pralka.h
,但应该是相反的(
Pralka.h
应该包括
AGD.h


原因是
Pralka
需要查看
AGD
声明才能从中继承。
AGD
不需要查看
Pralka
声明。

缩进您的代码以获得更好的世界。我想,编译器也会打印出文件和行号?您的include方法不对-pralca.h应该这样做<代码>#包含“agd.h”而不是相反的方式缩进代码以获得更好的世界。我想,编译器也会打印出文件和行号?您的包含方式是错误的-pralca.h应该
包含“agd.h”
而不是相反的方式现在我得到[错误]“Pralka”没有在main.cpp的这个范围内声明。在main.cpp中包含哪个文件?您还需要在
main.cpp
中包含
Pralka.h
。您也可以安全地在其中包含
AGD.h
,尽管这不是严格必需的。重要的是:(1)任何用法都必须能够看到声明,并且(2)不要以包含彼此的两个不同标题结束。现在我得到[Error]“Pralka”没有在main.cpp的这个范围内声明。在main.cpp中包含哪个文件?您还需要在
main.cpp
中包含
Pralka.h
。您也可以安全地在其中包含
AGD.h
,尽管这不是严格必需的。重要的是:(1)任何用法都必须能够看到声明,并且(2)不要以包含彼此的两个不同标题结束。