(99) 封装
封装的意义
- 将属性和行为作为一个整体,表现事物
- 将属性和行为加以权限控制
注明:
属性:成员变量
行为:成员函数
Code1 用类实现求圆的周长
#include<iostream>
using namespace std;
const double pi = 3.14;
// 求圆的周长
class Circle
{
public:
// 成员变量 (属性)
int m_r;
// 成员函数 求周长(行为)
double claculate()
{
return 2 * pi * m_r; // 不是cout 输出
}
};
int main()
{
//类的实例化
Circle cl;
cl.m_r = 10;
cout << " 圆的周长为:"<< cl.claculate() << endl;
return 0;
}
暴露出问题:
- C++ 创建类时,类名后没有冒号,和Python不同
- C/C++ 变量使用时要类型,和Python不同(const double pi=3.14;)
- 函数返回时是 return,不是cout,否则报错;
总结:
属性赋值方法
- 通过 类对象.成员变量 = 如 s1.m_name = “张三”;
- 通过成员函数给属性赋值 (通过小括号赋值) s1.setname(“张三”);
注意这两种使用方式的区别
类对象.成员函数 使用成员函数
(100)
Code 2:
设计一个学生类,属性有姓名和学号,给姓名和学号赋值,可以显示学生的姓名和学号
#include<iostream>
using namespace std;
#include <string>
class Student
{
public:
string m_name;
int m_id;
void setname(string name)
{
m_name = name;
}
void show()
{
cout << "姓名:"<< m_name << "学号:" << m_id << endl;
}
};
int main()
{
Student s1;
//s1.m_name = "张三";
s1.setname("张三");
s1.m_id = 1;
s1.show();
return 0;
}
<