1 设计立方体
设计一个立方体,求出面积和体积,比较两个立方体是否相等
#include<iostream>
using namespace std;
class Cube {
public:
void setABC(int a = 0, int b = 0, int c = 0) {
m_a = a;
m_b = b;
m_c = c;
}
int getV() {
m_v = m_a * m_b * m_c;
return m_v;
}
int getS() {
m_s = 2 * (m_a * m_b + m_b * m_c + m_c * m_a);
return m_s;
}
int getA() {
return m_a;
}
int getB() {
return m_b;
}
int getC() {
return m_c;
}
int judgeCube(Cube& v1, Cube& v2) {
if (v1.getA() == v2.getA() &&
v1.getB() == v2.getB() &&
v1.getC() == v2.getC()) {
return 1;
}
else
{
return 0;
}
}
// 函数重载
void judgeCube(Cube& v2) {
if (m_a == v2.getA() &&
m_b == v2.getB() &&
m_c == v2.getC()) {
cout << "相等" << endl;
}
else
{
cout << "不相等" << endl;
}
}
private:
int m_a;
int m_b;
int m_c;
int m_v;
int m_s;
};
// 全局函数 1 相等, 0不相等
int judgeCube(Cube& v1, Cube& v2) {
if (v1.getA() == v2.getA() &&
v1.getB() == v2.getB() &&
v1.getC() == v2.getC()) {
return 1;
}
else
{
return 0;
}
}
void main() {
Cube v1, v2;
v1.setABC(1, 2, 3);
cout << v1.getS() << endl;
cout << v1.getV() << endl;
// 判断两个立方体是否相等
v2.setABC(1, 2, 4);
if (v1.judgeCube(v1,v2) == 1) {
cout << "相等" << endl;
}
else {
cout << "不相等" << endl;
}
v1.judgeCube(v2);
}
2 设计一个圆和一个点 判断点是否在圆内
class Point {
public:
void setPoint(int _x1, int _y1) {
x1 = _x1;
y1 = _y1;
}
int getX1() {
return x1;
}
int getY1() {
return y1;
}
private:
int x1;
int y1;
};
class Circle {
public:
void setCircle(int _r, int _x0, int _y0) {
r = _r;
x0 = _x0;
y0 = _y0;
}
void jude(Point& p) {
int d_2 = (p.getX1() - x0) * (p.getX1() - x0) + (p.getY1() - y0) * (p.getY1() - y0);
if (d_2 > r * r) {
cout << "在圆外" << endl;
}
else {
cout << "在圆内" << endl;
}
}
private:
int r;
int x0;
int y0;
};
int main() {
Circle c1;
c1.setCircle(2, 3, 3);
Point p1;
p1.setPoint(1, 1);
// 判断点是否在圆内
c1.jude(p1);
return 0;
}
分文件完成
头文件
AdvCircle.h
#pragma once
#include"MyPoint.h"
class AdvCircle {
public:
void setCircle(int _r, int _x0, int _y0);
void jude(MyPoint& p);
private:
int r;
int x0;
int y0;
};
MyPoint.h
#pragma once
class MyPoint
{
public:
void setPoint(int _x1, int _y1);
int getX1();
int getY1();
private:
int x1;
int y1;
};
源文件
AdvCircle.cpp
#include<iostream>
using namespace std;
#include"MyPoint.h"
#include"AdvCircle.h"
void AdvCircle::setCircle(int _r, int _x0, int _y0) {
r = _r;
x0 = _x0;
y0 = _y0;
}
void AdvCircle::jude(MyPoint& p) {
int d_2 = (p.getX1() - x0) * (p.getX1() - x0) + (p.getY1() - y0) * (p.getY1() - y0);
if (d_2 > r * r) {
cout << "在圆外" << endl;
}
else {
cout << "在圆内" << endl;
}
}
MyPoint.cpp
#include "MyPoint.h"
void MyPoint::setPoint(int _x1, int _y1) {
x1 = _x1;
y1 = _y1;
}
int MyPoint::getX1() {
return x1;
}
int MyPoint::getY1() {
return y1;
}
主函数
#include "MyPoint.h"
void MyPoint::setPoint(int _x1, int _y1) {
x1 = _x1;
y1 = _y1;
}
int MyPoint::getX1() {
return x1;
}
int MyPoint::getY1() {
return y1;
}