封装的意义
- 对象具有属性和行为
意义:
- 将属性和行为作为一个整体
- 不同权限中对属性和行为进行控制操作
一
#include <iostream>
using namespace std;
const double pi = 3.1415926;
class circle
{
public:
//属性
int r;
//行为
double calculateC()
{
double C = 2 * pi*r;
return C;
}
};
int main()
{
//实例化对象
circle c1;
c1.r = 10;
double c = c1.calculateC();
cout << c;
return 0;
}
二
class student
{
//访问权限
public: // 公共权限:类内外访问
//成员属性
string m_name;
int m_id;
//成员函数
void set_printproperty(string name,int id)
{
m_name = name;
m_id = id;
cout << name << id << endl;
}
protected: //保护权限:类内访问——子可继承
string m_page;
private://私有权限:类内访问——子不可继承
int password;
};
struct与class的唯一区别
- struct 默认为公共权限
- class 默认为私有权限
#include<iostream>
using namespace std;
class c1
{
int m_a;//默认权限:私有—类内可以访问,不可继承
};
struct c2
{
int m_a;//默认权限:公有—类内外可以访问
};
int main()
{
return 0;
}
成员属性私有化
- 自主控制读写权限并检测数据有效性
class c1
{
int m_a;//默认权限:私有—类内可以访问,不可继承
private:
string m_name; //私有属性
int m_age;
int m_lover;
public:
void setproperty(string name, int lover)
{
m_name = name;
m_lover = lover;
}
string getname()
{
return m_name;
}
int getage()
{
return m_age;
}
};