C++传智笔记(5):C++完整demo

MyPoint.h
#pragma once
class MyPoint
{
private:
	double x0, y0; //点坐标
public:
	void setPoint(double x, double y);
	double getX0();
	double getY0();
};
MyPoint.cpp
#include "MyPoint.h"

void MyPoint::setPoint(double x, double y)
{
	x0 = x;
	y0 = y;
}
double MyPoint::getX0()
{
	return x0;
}
double MyPoint::getY0()
{
	return y0;
}
MyCircle.h
#pragma once
#include "MyPoint.h"
class MyCircle
{
public:
	void setCir(double x, double y, double r);

public:
	char * judge(double x, double y);
	char * judge(MyPoint &p);

private:
	double x1, y1; //?2D?×?±ê
	double r1;  //?2°???
};
MyCircle.cpp
#include "MyCircle.h"

void MyCircle::setCir(double x, double y, double r)
{
	//这里面也是类的内部
	x1 = x; y1 = y; r1 = r;
}
char* MyCircle::judge(double x, double y)
{
	double s = (x1-x)*(x1-x) + (y1-y)*(y1-y) - r1*r1 ;
	if (s > 0)
	{
		return "在圆外";
	}
	else
	{
		return "在圆内";
	}
}
char* MyCircle::judge(MyPoint &p)
{
	double s = (x1-p.getX0())*(x1-p.getX0()) + (y1-p.getY0())*(y1-p.getY0()) - r1*r1 ;
	if (s > 0)
	{
		return "在圆外";
	}
	else
	{
		return "在圆内";
	}
}

  main.cpp

#include "iostream"
using namespace std;

#include "MyCircle.h"
#include "MyPoint.h"

void main()
{
	MyCircle c1;
	MyPoint  p1;

	c1.setCir(2, 2, 3);
	p1.setPoint(1, 1);
	cout<<c1.judge(p1.getX0(), p1.getY0())<<endl;
	cout<<c1.judge(p1)<<endl;
	system("pause");

}

  

 

 
时间: 2025-01-11 05:08:54

C++传智笔记(5):C++完整demo的相关文章

C++传智笔记(6):socket客户端发送报文接受报文的api接口

#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "string.h" #include "itcast_comm.h" #include "memwatch.h" #include "itcastlog.h" /* 下面定义了一套socket客户端发送报文接受报文的api接口

C++传智笔记(3):字符串copy函数技术推演代码

字符串copy 1 #include "stdio.h" 2 #include "stdlib.h" 3 #include "string.h" 4 5 /* 6 void * __cdecl memcpy(void *, const void *, size_t); 7 int __cdecl memcmp(const void *, const void *, size_t); 8 void * __cdecl memset(void *,

传智播客 2015 刘意 Java基础-视频-笔记day27(完结)(2016年5月1日12:42:20)

day27 1.类的加载概述和加载时机 2.类加载器的概述和分类 类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象. 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行. 类加载器的组成 Bootstrap ClassLoader根类加载器 Extension ClassLoader扩展类加载器 SysetmClassLoader系统类加载器 通过这些描述我们就可以知道我们常用的东西的加载都是由谁来完成的. 到目前为止我们已经知道把class文

NVelocity学习笔记一——linq2sql+NVelocity完整demo

(一)前言      刚刚进入新公司,看公司的项目,发现开发流程几乎和以前的完全不同,再看看页面布局竟然没有发现html.神马情况????一番探究发现使用了NVelocity模板引擎开发的.于是乎花了半天的时间比划着公司的项目做了一个小demo,也算是熟悉一下这种开发方式吧,同时也给将要学习这方面东西的朋友留个小教程. (二)实战      说明:因为公司项目数据库操作使用的是linq2sql,所以我也就拿这个操作数据库了(汗,其实我也没用过linq2SQL,都是EF,其实都差不多). 第一步:

C++004进阶(注:C++很难,传智视频+达内笔记)

6.  函数模板和类模板 前言 C++提供了函数模板(functiontemplate).所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表.这个通用函数就称为函数模板.凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可.在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能. 1)C++提供两种模板机制:函数模板.类模板 2)类属 -- 类型参数化,又称参数模板 使得程序(算法)可以从逻辑

Grails笔记三:完整的文件上传实例

文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 1.在gsp页面中使用Grails标签uploadForm <g:uploadForm name="myUpload" action="saveFile"> <input type="file" name="myFile" /> <

photoshop基础教程视频-贺叶铭-传智播客-笔记

界面构成 1.菜单栏 2.工具箱 3.工具属性栏 4.悬浮面板 5.画布 ctrl+n 新建对话框 (新建画布) 打开对话框:ctrl + O (Open) 画布三种显示方式切换:F 隐藏工具箱,工具属性栏,悬浮面板:TAB 缩放工具:Z alt(缩小) 切换到 暂时切换到 满画面显示 ctrl + 0 (数字) 按住空格:暂时切换到抓手(移动画布) LOGO: 标志 效果分析思路: 1.构图 2.配色 网络:Ctrl + " (参考线的单位必须和画面的单位统一) 调节网格大小:ctrl+k(首

我与传智播客的不解之缘

接受成都传智播客的邀请写这篇文章,我感到万分荣幸.受宠若惊.我想过很多种开场白,想来想去,还是觉得这样简单的两句话比较自然. 我从来没去过传智播客,知道这个名字也是来自于网上查资料时无意中发现的.我印象中,成都传智播客是在最近四年内开业的,而且最开始是在八宝街. 我2009年毕业,大专生,机械专业.说起我的2009年,这一年的经历要说出来,恐怕要写好几页了.08年底,我去实习了三个月,确定对机械不感兴趣,无论如何,我在2009年3月份开始了我的程序员之旅.这一年我没有一份正式的工作,一面学习着j

揭秘传智播客班级毕业薪资超7k的内幕系列之四----汽车工的华丽转身

---不是本科毕业?不是计算机专业?做过电子厂?做过数控?看传智中专生侃项目,"侃晕"项目经理.从流水线上华丽转身,8.5k高薪再就业 系列三承诺写写上海传智Java六期提前就业的一位同学,为什么写他?由于从他身上我看到了非常多正能量,看到了一个不具备从事IT业基础知识的屌丝怎样不甘于现状怀揣改变生活,提升职业层次的梦想.经历层层"险关",终于选择传智.学有所成,华丽转身,以8.5k较高薪资就业,让"梦想照进现实": 首先介绍下该同学,小陈是中专