我正在尝试声明一个矩形类型的对象,但它一直向我显示此错误
这是从形状类继承的矩形类:
class rectangle: public shape{
int width, height;
public:
rectangle();
void draw(int width, int height){
for(int i = 1; i <= height; i++){
for(int j = 1; j <= width; j++){
if( i == 1 && i == height)
cout<<"*";
else if( j == 1 && j == width)
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}
}
};
这是形状类:
class shape
{
int x, y;
char letter;
public:
shape(int x, int y, char letter, int length){
int X = x;
int Y = y;
int L = letter;
}
void verLine(){
for(int i = 0; i < 5; i++){
cout<<"*"<<endl;
}
}
void horLine(){
for(int i = 0; i < 5; i++){
cout<<"*";
}
}
char setLetter(char letter){
int newLetter = letter;
return newLetter;
}
void gotoxy(int x, int y){
HANDLE hConsole;
COORD cursorLoe;
std::cout.flush();
cursorLoe.X = x;
cursorLoe.Y = y;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsole, cursorLoe);
}
};
这是主要的:
int main()
{
rectangle r1;
cout<<endl;
r1.draw(5,5);
return 0;
}
我认为问题在于我在矩形类中的默认构造函数,但我找不到任何其他方法来编码它
答案 0 :(得分:0)
您声明了默认构造函数但没有定义它。您需要在某处定义函数rectangle::rectangle()
。如果您不需要构造函数实际执行任何操作,那么您根本不需要声明它。所以要么定义构造函数,要么不要声明它。