两个unit如何运行得到结果?(在线等,多谢!)
要在窗体上画一图形:以特定点为中心,画弧、圆、椭圆和矩形。
我照例题编写如果下代码,开始时RUN为恢色不能运行,现在能
运行无错,但也得不到正确结果,我该如何解决。
现附代码如下望多指点,先谢过各位。
Unit2.h代码:
//---------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------class point
{
protected:
int x,y;
public:
point(int x=320,int y=240);
};
//---------------------------------------------------------------------
class circles:virtual public point
{
int radius;
public:
circles(int x,int y,int radius);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------
class arcs:virtual public point
{
int radius;
public:
arcs(int x,int y, int radius);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------class ellipses:virtual public point
{
int xradius,yradius;
public:
ellipses(int x,int y,int xradius,int yradius);
void show (TCanvas* canvas);
};
//---------------------------------------------------------------------
class rectangles:virtual public point
{
int length;
public:
rectangles(int x,int y,int length);
void show(TCanvas* cnavas);
};
//---------------------------------------------------------------------
class mix:arcs,ellipses,rectangles,circles
{
public:
mix(int x,int y,int radius1,int radius2);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------
#endif
Unit2.cpp代码:
//---------------------------------------------------------------------#include <string.h>
#include <conio.h>
#include <vc1.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------point::point(int x,int y)
{
point::x=x;
point::y=y;
}
//---------------------------------------------------------------------circles::circles(int x,int y,int radius):poit(x,y)
{
circles::radius=radius;
}
//---------------------------------------------------------------------
void circles::show(TCanvas* canvas)
{
canvas->Ellipse(x-radius,y-radius,x+radius,y+radius);
}
//---------------------------------------------------------------------arcs::arcs(int x,int y,int radius):point(x,y)
{
arcs::radius=radius;
}
//---------------------------------------------------------------------void arcs::show(TCanvas* canvas)
{
canvas->Arc(x-radius,y-radius,x+radius,y+radius,
x+radius,y-radius,x-radius,y-radius);
}
//---------------------------------------------------------------------ellipses::ellipses(int x,int y,int xradius,int yradius):point(x,y)
{
ellipses::xradius=xradius;
ellipses::yradius=yradius;
}
//---------------------------------------------------------------------
void ellipses::show(TCanvas* canvas)
{
canvas->Ellipse(x-xradius,y-yradius,x+xradius,y+yradius);
}
//---------------------------------------------------------------------
rectangles::rectangles(int x,int y,int length):point(x,y)
{
rectangles::length=length;
}
//---------------------------------------------------------------------
void rectangles::show(TCanvas* canvas)
{
canvas->Rectangle(x-length/2,y-length/2,x+length/2,y+length/2);
}
//---------------------------------------------------------------------
mix::mix(int x,int y,int radius1,int radius2)
:arcs(x,y,radius2),ellipses(x,y,radius1,radius2+5),
rectangles(x,y,radius1*2+10),circles(x,y,radius1*2)
{
}
//---------------------------------------------------------------------
void mix::show(TCanvas* canvas)
{
ards::show(cnavas);
ellipses::show(canvas);
rectangles::show>canvas);
circles::show(canvas);
}
//---------------------------------------------------------------------
Form1r OnPaint事件响应函数:
#include "Unit2.h"
//---------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Canvas->Brush->Style=bsClear;
Canvas->Pen->Width=10;
mix object(220,240,100,70);
object.show (Canvas);
}
//---------------------------------------------------------------------
我照例题编写如果下代码,开始时RUN为恢色不能运行,现在能
运行无错,但也得不到正确结果,我该如何解决。
现附代码如下望多指点,先谢过各位。
Unit2.h代码:
//---------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------class point
{
protected:
int x,y;
public:
point(int x=320,int y=240);
};
//---------------------------------------------------------------------
class circles:virtual public point
{
int radius;
public:
circles(int x,int y,int radius);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------
class arcs:virtual public point
{
int radius;
public:
arcs(int x,int y, int radius);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------class ellipses:virtual public point
{
int xradius,yradius;
public:
ellipses(int x,int y,int xradius,int yradius);
void show (TCanvas* canvas);
};
//---------------------------------------------------------------------
class rectangles:virtual public point
{
int length;
public:
rectangles(int x,int y,int length);
void show(TCanvas* cnavas);
};
//---------------------------------------------------------------------
class mix:arcs,ellipses,rectangles,circles
{
public:
mix(int x,int y,int radius1,int radius2);
void show(TCanvas* canvas);
};
//---------------------------------------------------------------------
#endif
Unit2.cpp代码:
//---------------------------------------------------------------------#include <string.h>
#include <conio.h>
#include <vc1.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------point::point(int x,int y)
{
point::x=x;
point::y=y;
}
//---------------------------------------------------------------------circles::circles(int x,int y,int radius):poit(x,y)
{
circles::radius=radius;
}
//---------------------------------------------------------------------
void circles::show(TCanvas* canvas)
{
canvas->Ellipse(x-radius,y-radius,x+radius,y+radius);
}
//---------------------------------------------------------------------arcs::arcs(int x,int y,int radius):point(x,y)
{
arcs::radius=radius;
}
//---------------------------------------------------------------------void arcs::show(TCanvas* canvas)
{
canvas->Arc(x-radius,y-radius,x+radius,y+radius,
x+radius,y-radius,x-radius,y-radius);
}
//---------------------------------------------------------------------ellipses::ellipses(int x,int y,int xradius,int yradius):point(x,y)
{
ellipses::xradius=xradius;
ellipses::yradius=yradius;
}
//---------------------------------------------------------------------
void ellipses::show(TCanvas* canvas)
{
canvas->Ellipse(x-xradius,y-yradius,x+xradius,y+yradius);
}
//---------------------------------------------------------------------
rectangles::rectangles(int x,int y,int length):point(x,y)
{
rectangles::length=length;
}
//---------------------------------------------------------------------
void rectangles::show(TCanvas* canvas)
{
canvas->Rectangle(x-length/2,y-length/2,x+length/2,y+length/2);
}
//---------------------------------------------------------------------
mix::mix(int x,int y,int radius1,int radius2)
:arcs(x,y,radius2),ellipses(x,y,radius1,radius2+5),
rectangles(x,y,radius1*2+10),circles(x,y,radius1*2)
{
}
//---------------------------------------------------------------------
void mix::show(TCanvas* canvas)
{
ards::show(cnavas);
ellipses::show(canvas);
rectangles::show>canvas);
circles::show(canvas);
}
//---------------------------------------------------------------------
Form1r OnPaint事件响应函数:
#include "Unit2.h"
//---------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Canvas->Brush->Style=bsClear;
Canvas->Pen->Width=10;
mix object(220,240,100,70);
object.show (Canvas);
}
//---------------------------------------------------------------------
...全文
相关推荐
entrenadorPlanificaElPartido
entrenadorPlanificaElPartido 计划更改比赛
《模式识别与数据挖掘》配套PPT课件
《模式识别与数据挖掘》配套PPT课件
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
跨境电商供应链管理(AIGC版)课件+教案+参考答案
跨境电商供应链管理(AIGC版)课件+教案+参考答案


