C++复习--03

设计一个学生类:

class Student {
public:
	string _name;
	int _num;
	void set_name(string name)
	{
		_name = name;
	}
	void set_num(int num)
	{
		_num = num;
	}
	void show()
	{
		cout << _name << _num << endl;
	}
};
int main() {
	Student s1;
	s1.set_name("de");
	s1.set_num(022);
	s1.show();

public   公共权限  类内可以访问,类外可以访问

protected  保护权限  类内可以访问,类外不能访问

private   私有权限  类内可以访问,类外不能访问

struct class 的区别:默认访问权限不同

struct:默认为公共;

class:默认为私有;

例题:1.立方体类

#include<iostream>
using namespace std;

class Cube
{
private:
	int _chang;
	int _kuan;
	int _gao;
public:
	void set_chang(int chang)
	{
		_chang = chang;
	}
	void set_kuan(int kuan)
	{
		_kuan = kuan;
	}
	void set_gao(int gao)
	{
		_gao = gao;
	}
	int get_chang()
	{
		return _chang;
	}
	int get_kuan()
	{
		return _kuan;
	}
	int get_gao()
	{
		return _gao;
	}
	int area()
	{
		return 2*(_chang*_kuan+_chang*_gao+_kuan*_gao);
	}
	int volume()
	{
		return _chang * _kuan * _gao;
	}
	bool compare2(Cube& c)
	{
		if (get_chang() == c.get_chang() && get_gao() == c.get_gao() && get_kuan() == c.get_kuan())
		{
			return true;
		}
		return false;
	}
	
};
bool compare(Cube &cu1, Cube &cu2)
{
	if (cu1.get_chang() == cu2.get_chang() && cu1.get_gao() == cu2.get_gao() && cu1.get_kuan() == cu2.get_kuan())
	{
		return true;
	}
	return false;
}
int main()
{
	Cube cu1;
	cu1.set_chang(5);
	cu1.set_gao(6);
	cu1.set_kuan(8);
	cu1.area();
	cu1.volume();
	cout << cu1.area() << cu1.volume() << endl;
	/*cu.compare();
	void compare2();*/
	Cube cu2;
	cu2.set_chang(6);
	cu2.set_gao(6);
	cu2.set_kuan(8);
	//利用全局函数判断
	bool ret=compare(cu1,cu2);
	if (ret)
	{
		cout << "两者相同" << endl;
	}
	else
	{
		cout << "两者不相同" << endl;
	}
	//利用成员函数判断
	ret = cu1.compare2(cu2);
		if (ret)
		{
			cout << "两者相同" << endl;
		}
		else
		{
			cout << "两者不相同" << endl;
		}
}

2.点与圆的关系

#include<iostream>
using namespace std;
class point {
private:
	int m_x;
	int m_y;
public:
	void set_x(int x)
	{
		m_x = x;
	}
	int get_x(){
		return m_x;
	}
	void set_y(int y)
	{
		m_y = y;
	}
	int get_y() {
		return m_y;
	}
};
class yuan {
private:
	int m_r;
	point m_center;//圆心
public:
	void set_r(int r)
	{
		m_r = r;
	}
	int get_r() {
		return m_r;
	}
	void set_center(point center)
	{
		m_center=center;
	}
	point get_center() {
		return m_center;
	}
};
void compare(yuan &y,point &d)
{
	int dis =
		(y.get_center().get_x() - d.get_x()) * (y.get_center().get_x() - d.get_x()) +
		(y.get_center().get_y() - d.get_y()) * (y.get_center().get_y() - d.get_y());
	int r_dis =
		y.get_r() * y.get_r();
	if (dis == r_dis)
	{
		cout << "点在圆上" << endl;
	}
	else if (dis < r_dis)
	{
		cout << "点在圆内" << endl;
	}
	else if (dis > r_dis)
	{
		cout << "点在圆外" << endl;
	}
}
int main()
{
	point center;
	yuan y;
	y.set_r(5);
	center.set_x(10);
	center.set_y(10);
	y.set_center(center);

	point p;
	p.set_x(5);
	p.set_y(6);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值