正文
今天继续学习类,这可是OOP较为核心的内容。今天来讲访问控制。访问控制有三个关键字 protected、 public和private。当我们使用类对象的程序可以直接访问公有成员函数,如果要访问私有函数,我们可以通过公有函数来访问。这是因为可以通过公有函数处理私有数据,这也是封装的体现,数据要加密,不能直接设为公有函数。本质的体现:类设计尽可能将公有接口与实现细节分开。
接下来讲述实现类成员函数
函数在编程中可以被认为是程序的基本单元,一个程序可以被认为是由一个个函数组成的。类成员函数的两个特征
- 定义成员函数时,使用作用域解析运算符(::)来标识所属的类 比如,我是王冰冰男朋友,我就要在空间发说说,秀秀恩爱啥的,表示冰冰是我女朋友。
- 类方法可以访问类的private组件-----友元函数。 这里的友元函数后面讲。
代码表示
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
/*
访问控制关键词
protected :这个表示类的子类可以访问,就是嵌套的类中的类
private:这是私有,不能直接访问属于数据隐藏,友元函数可以直接访问。
public: 这是公有的,都能访问。
*/
class Node{//类的定义
public://访问控制的关键词
int sum(int a,int b);//类里先声明函数
int sum_a(int a,int b){
return num+a+b;//私有成员通过类公有函数调用
}
private:
int num=22;
};
inline int Node::sum (int a,int b){//要定义得说明它属于谁。
return a+b;
}
int main (){
int a,b;
std::cin>>a>>b;
Node p;//类变量
cout<<p.sum(a,b)<<endl;//调用的方式
cout<<p.sum_a(a,b)<<endl;
return 0;
}
小结
指定类设计的第一步提供声明。类的声明和结构体类似,可以包含数据成员和函数成员。声明私有部分,在其中声明的成员只能通过成员函数访问。声明还具有公有部分,在其中声明的成员可以使用类对象的程序直接访问。