注册 登录
编程论坛 VC++/MFC

错误提示求翻译

printf0 发布于 2010-12-08 00:04, 555 次点击
error C2259: 'point' : cannot instantiate abstract class due to following members:
C++编译时出现的错误~额 理解不了是什么意思
4 回复
#2
printf02010-12-08 00:17
// GA.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;
class shape
{
public:
    virtual float area() const =0;
};
class point:public shape
{
public:
    point(float=0,float=0);
    setpoint(float,float);
    float area();
    getx();
    gety();
    operator + (point &p);
    operator + (int p);
private:
    float x,y;
};
point::getx()
{return x;}
point::gety()
{return y;}
point::setpoint(float a,float b)
{x=a;x=b;}
point::operator + (point &p)
{
    return setpoint(x+p.getx(),y+p.gety());}
point::operator + (int p)
{
    return setpoint(x+p,y+p);}
float point::area()
{
    cout<<x<<","<<y<<endl;
    return 0;
}
class circle:public point
{
public:
    circle(float=0,float=0,float=0);
    setcircle(float a,float b,float r);
    float area();
    operator + (point &p);
private:
    float x,y;
    float ra;
};
circle::setcircle(float a,float b,float r)
{
    x=a;y=b;ra=r;
}
circle::operator + (point &p)
{return setcircle(x+p.getx(),y+p.gety(),ra+0);
}
float circle::area()
{
    cout<<3.14*ra*ra<<endl;
    return 0;
}

int main(int argc, char* argv[])
{
    point p(1.5,1.7);
    p.area();
    //circle c(1.5,1.3,1.5),cp;
    //cp=c+P;
   


   
    printf("Hello World!\n");
    return 0;
}

额 源程序是这样的
#3
printf02010-12-08 00:40
定义了一个抽象基类,一个点类,一个圆类,想求 圆+点 之后圆的面积
#4
2010-12-08 11:39
饿 参考参考
#5
danpandong2010-12-08 18:23
是哪一行错了呢?
1