我不明白为什么这个程序不起作用。我是 C++ 新手,在使用 Java 三年后切换。我认为 Java 中的错误消息毫无意义,但我在 C++ 中遇到的错误只是胡言乱语。这是我真正能理解的。
无论如何,所以我有一个具有 Rectangle 和 Square 类的程序。square 类继承自 rectangle 类。我所有的课程都在不同的文件中。
==================================(主)
#include <iostream>
#include "Rectangle.h"
#include "Square.h"
using namespace std;
int main(){
Square sq;
}//end main
=================================(Rectangle.h)
#ifndef RECTANGLE_H
#define RECTANGLE_H
class Rectangle{
public:
Rectangle (int, int);
void setLength (int);
void setWidth (int);
int getLength ();
int getWidth ();
int getArea ();
private:
int length;
int width;
};
#endif // RECTANGLE_H
==================================(Rectangle.cpp)
#include <iostream>
#include "Rectangle.h"
#include "Square.h"
using namespace std;
Rectangle :: Rectangle (int len, int wid){
length = len;
width = wid;
}//end constructor
void Rectangle :: setLength (int l){
length = l;
}//end setLength
void Rectangle :: setWidth (int w){
width = w;
}//end setWidth
int Rectangle :: getLength (){
return length;
}//end getLength
int Rectangle :: getWidth (){
return width;
}//end getWidth
int Rectangle :: getArea (){
return length * width;
}//end getArea
=========================================(Square.h)
#ifndef SQUARE_H
#define SQUARE_H
class Square : public Rectangle
{
public:
Square();
};
#endif // SQUARE_H
=====================================(Square.cpp)
#include <iostream>
#include "Rectangle.h"
#include "Square.h"
using namespace std;
Square :: Square {
//super :: Square(4, 3);
cout << "This is bullshit";
};
==================================================== =====