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