#include <iostream>
using namespace std;
class Cube
{
public:
void setABC(int a, int b, int c)
{
my_a = a;
my_b = b;
my_c = c;
}
int getVolume()
{
return my_a * my_b * my_c;
}
int getArea()
{
return 2 * (my_a * my_b + my_b * my_c + my_a * my_c);
}
bool judgeCubeVolum(Cube &another)
{
//类内部的方法可以相互调用,且不用加作用域,不会发生歧义
if (getVolume() == another.getVolume())
{
return true;
}
else
{
return false;
}
//同类之间无隐私
//在Cube类里my_a和my_b明显为私有变量,其实仍符合类内部私有变量可以更改,因为another也为Cube,它存在什么私有类型,这个类完全知道,且仍在这个类内部更改其私有变量,所以合法
another.my_a = 10;
another.my_b = 10;
}
private:
int my_a;
int my_b;
int my_c;
};
//全局函数
bool judgeCudeVolume(Cube &c1, Cube &c2)
{
if (c1.getVolume() == c2.getVolume())
{
return true;
}
else
{
return false;
}
}
//点类
class Point
{
public:
void setXY(int x, int y)
{
my_x = x;
my_y = y;
}
int getX()
{
return my_x;
}
int getY()
{
return my_y;
}
private:
int my_x;
int my_y;
};
//圆类
class Circle
{
public:
void setXY(int x, int y)
{
my_x = x;
my_y = y;
}
void setR(int r)
{
my_r = r;
}
//提供一个方法判断点是否在圆内
bool judgePoint(Point point)
{
int d;
d = (point.getX() - my_x) * (point.getX() - my_x) + (point.getY() - my_y) * (point.getY() - my_y);
if (d == my_r * my_r)
{
return true;
}
else
{
return false;
}
}
private:
int my_x;
int my_y;
int my_r;
};
int main()
{
Cube c1;
c1.setABC(1, 2, 3);
Cube c2;
c2.setABC(1, 2, 3);
//通过全局函数判断
if (judgeCudeVolume(c1, c2)==true)
{
cout << "equal volume" << endl;
}
else
{
cout << "unequal volume" << endl;
}
//通过类内部方法判断
if (c1.judgeCubeVolum(c2) == true)
{
cout << "equal volume" << endl;
}
else
{
cout << "unequal volume" << endl;
}
Circle circle;
circle.setXY(2, 2);
circle.setR(4);
Point point;
point.setXY(8, 8);
if (circle.judgePoint(point) == true)
{
cout << "inside the circle" << endl;
}
else
{
cout << "outside the circle" << endl;
}
return 0;
}
using namespace std;
class Cube
{
public:
void setABC(int a, int b, int c)
{
my_a = a;
my_b = b;
my_c = c;
}
int getVolume()
{
return my_a * my_b * my_c;
}
int getArea()
{
return 2 * (my_a * my_b + my_b * my_c + my_a * my_c);
}
bool judgeCubeVolum(Cube &another)
{
//类内部的方法可以相互调用,且不用加作用域,不会发生歧义
if (getVolume() == another.getVolume())
{
return true;
}
else
{
return false;
}
//同类之间无隐私
//在Cube类里my_a和my_b明显为私有变量,其实仍符合类内部私有变量可以更改,因为another也为Cube,它存在什么私有类型,这个类完全知道,且仍在这个类内部更改其私有变量,所以合法
another.my_a = 10;
another.my_b = 10;
}
private:
int my_a;
int my_b;
int my_c;
};
//全局函数
bool judgeCudeVolume(Cube &c1, Cube &c2)
{
if (c1.getVolume() == c2.getVolume())
{
return true;
}
else
{
return false;
}
}
//点类
class Point
{
public:
void setXY(int x, int y)
{
my_x = x;
my_y = y;
}
int getX()
{
return my_x;
}
int getY()
{
return my_y;
}
private:
int my_x;
int my_y;
};
//圆类
class Circle
{
public:
void setXY(int x, int y)
{
my_x = x;
my_y = y;
}
void setR(int r)
{
my_r = r;
}
//提供一个方法判断点是否在圆内
bool judgePoint(Point point)
{
int d;
d = (point.getX() - my_x) * (point.getX() - my_x) + (point.getY() - my_y) * (point.getY() - my_y);
if (d == my_r * my_r)
{
return true;
}
else
{
return false;
}
}
private:
int my_x;
int my_y;
int my_r;
};
int main()
{
Cube c1;
c1.setABC(1, 2, 3);
Cube c2;
c2.setABC(1, 2, 3);
//通过全局函数判断
if (judgeCudeVolume(c1, c2)==true)
{
cout << "equal volume" << endl;
}
else
{
cout << "unequal volume" << endl;
}
//通过类内部方法判断
if (c1.judgeCubeVolum(c2) == true)
{
cout << "equal volume" << endl;
}
else
{
cout << "unequal volume" << endl;
}
Circle circle;
circle.setXY(2, 2);
circle.setR(4);
Point point;
point.setXY(8, 8);
if (circle.judgePoint(point) == true)
{
cout << "inside the circle" << endl;
}
else
{
cout << "outside the circle" << endl;
}
return 0;
}