⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circle.cpp

📁 电子画图板
💻 CPP
字号:
//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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -