c++ 高手 快进啊

[复制链接]
查看11 | 回复3 | 2009-4-2 12:33:28 | 显示全部楼层 |阅读模式
这段代码
总是编译不过去 但自己不会改了
高手能否帮我看看 帮我改好 并说明一下 谢谢了

PS:我只是想把它给 编译通过 只要不报错就行
#include
#include
class Shape {
public:
Shape() {}
~Shape() {}
void setArea(double a) {area = a;}
private:

double area;
};

class Circle: public Shape {

Circle() { texture = malloc(TEXTURE_SIZE); }

~Circle() { free(texture); }

bool operator!=(Circle &r);

private:

TEXTURE_DATA *texture;

Circle(Circle &r) { texture = strdup(r.texture); }

Circle& operator=(Circle &r) { if (r != *this) texture = strdup(r.texture); return *this;}

};



void foo() {

Shape *newObj = new Circle;

delete newObj;

}
int main()
{

return 0;
}

回复

使用道具 举报

千问 | 2009-4-2 12:33:28 | 显示全部楼层
#include#include /*这里还是按照你自己的定义,我只是为了编译通过*/typedef char TEXTURE_DATA;#define TEXTURE_SIZE 10/*这里还是按照你自己的定义,我只是为了编译通过*/class Shape { public:Shape() {}~Shape() {}void setArea(double a) {area = a;} private:double area; }; class Circle: public Shape { public:/*如果不加p...
回复

使用道具 举报

千问 | 2009-4-2 12:33:28 | 显示全部楼层
出去TEXTURE_DATA的问题。在Circle() { texture = malloc(TEXTURE_SIZE); }~Circle() { free(texture); } 之前加上publicShape *newObj = new Circle; 最好改成Shape *newObj = new Circle();...
回复

使用道具 举报

千问 | 2009-4-2 12:33:28 | 显示全部楼层
Shape *newObj = new Circle();...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行