设计一个学生类:
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);
}