circle.cpp

来自「电子画图板」· C++ 代码 · 共 48 行

CPP
48
字号
//Circle圆类   
//Circle.cpp

//包含的头文件
#include "stdafx.h"
#include "Coordinate.h"
#include "Shape.h"
#include "Circle.h"

//类实现
IMPLEMENT_SERIAL(Circle,Shape,1)

Circle::Circle(){
	a=0.0;
	b=0.0;
	r=0.0;
	expression.Format("(x-%1.2lf)^2+(y-%1.2lf)^2=%1.2lf^2",a,b,r);
}

Circle::Circle(double a,double b,double r){
	this->a=a;
	this->b=b;
	this->r=r;
	expression.Format("(x-%1.2lf)^2+(y-%1.2lf)^2=%1.2lf^2",a,b,r);
}

Circle::~Circle(){

}

void Circle::drawShape(CDC *pDC,Coordinate co){		//画圆
	CPoint o;	
	o=co.getTrueAxis(a,b);	//坐标转换,由将圆点的实际坐标系的坐标转换为视图区的坐标
	//画圆
	pDC->Ellipse((int)(o.x-r*co.getXScale()),(int)(o.y-r*co.getYScale()),(int)(o.x+r*co.getXScale()),(int)(o.y+r*co.getYScale()));
}

void Circle::Serialize(CArchive &ar){		//串行化
	Shape::Serialize(ar);
	if(ar.IsStoring()){
		//storing
		ar <<a<<b<<r;
	}
	else{
		//loading
		ar >>a>>b>>r;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?