Point.h: #pragma onceclass Point{private: double p_x, p_y;public: void setXY(double x,double y); double getx(); double gety();}; AdvCircle.h: #pragma once#include "Point.h"class AdvCircle{private: double m_x, m_y,m_r;public: void set(double x, d…
题目链接:http://poj.org/problem?id=1269 题面: Description We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) interse…
对于两圆的位置一般有五种关系: (1) 外离:两圆的半径之和小于两圆圆心距离 (2) 外切:两圆的半径之和等于两圆圆心距离 (3) 相交:两圆的半径之和大于两圆圆心距离,两圆圆心距离大于两圆半径之差 (4) 内切:两圆的半径之差等于两圆圆心距离 (5) 内含:两圆的半径之差小于两圆圆心距离 具体实现C++代码如下: #include<iostream>#include<cmath>using namespace std;class Point {private: double m_…
我们用C++写类的时候,通常会将.cpp和.h文件分开写,即实现和声明分开写了:但在C++的类模板中,这种写法是错误的. 在<C++编程思想>的第16章的"16.3模板语法"一节给出了答案,以下是下书中原话: 即使是在创建非内联函数定义时,我们还是通常想把模板的所有声明都放入一个头文件中.这似乎违背了通常的头文件规则:"不要放置分配存储空间的任何东西"(这条规矩是为了防止在连接期间的多重定义错误),但模板定义很特殊.由template<->…
C++中每个对象所占用的空间大小,是在编译的时候就确定的,在模板类没有真正的被使用之前,编译器是无法知道,模板类中使用模板类型的对象的所占用的空间的大小的.只有模板被真正使用的时候,编译器才知道,模板套用的是什么类型,应该分配多少空间.这也就是模板类为什么只是称之为模板,而不是泛型的缘故. 既然是在编译的时候,根据套用的不同类型进行编译,那么,套用不同类型的模板类型实际上就是两个不同的类型,也就是说,stack<int>和stack<char>是两个不同的数据类型,他们共同的成员函…
1 源文件 main.cpp 2 //点和圆的关系 3 //设计一个圆形类 和一个点类 计算点和圆的关系 4 //点到圆心的距离 == 半径 点在圆上 5 //点到圆心的距离 > 半径 点在圆外 6 //点到圆心的距离 < 半径 点在圆内 7 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 8 // 计算 可以 两边同时 平方 9 #include <iostream> 10 #include<string>…
1 //点和圆的关系 2 //设计一个圆形类 和一个点类 计算点和圆的关系 3 //点到圆心的距离 == 半径 点在圆上 4 //点到圆心的距离 > 半径 点在圆外 5 //点到圆心的距离 < 半径 点在圆内 6 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 7 // 计算 可以 两边同时 平方 8 #include <iostream> 9 #include<string> 10 #include"…
Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5439   Accepted: 3234 Description Mom and dad have a problem: their child, Reza, never puts his toys away when he is finished playing with them. They gave Reza a rectangular box…
转载自http://www.cnblogs.com/staring-hxs/p/3244251.html 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的程序中,带注释的那行就是类B的前置说明.这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面.如果没有类B的前置说明,下面的程序将不同通过编译,编译器将会给出类似"缺少类型说明符"这样的出错提示. 代码一: // ForwardDeclaration.h #include <…
[转自 here] 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的程序中,带注释的那行就是类B的前置说明.这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面.如果没有类B的前置说明,下面的程序将不同通过编译,编译器将会给出类似“缺少类型说明符”这样的出错提示. 代码一: // ForwardDeclaration.h #include <iostream> using namespace std; class B; // 这是前置声明…