c++ 中为什么要定义public protect…
2014-12-12 09:42
411 查看
c++ 中为什么要定义public
protect private 三种访问权限?
有些我们需要给外面看的,也就是对外接口,那么就是public,如果没有,那么我们做的工作将是毫无意义的,(别人没法用)
如果我们不想让别人知道内部的实现细节,那么就是private,比如,我们这么:
public:
count()
{
mycount();
}
private:
mycount();
这样的,count是对外的接口,而实现的时候,我们不想让外面知道怎么实现的,就用private,防止它用mycount!
如果我们不想让别人知道,想让自己的孩子什么的知道(这里涉及到继承),那么就可以作为protected!
这样的话,private是自己私有的,protected是可以让孩子知道的,public是公开的!
因为有需求,所以才有这样 的设计!
#c++基础知识
protect private 三种访问权限?
有些我们需要给外面看的,也就是对外接口,那么就是public,如果没有,那么我们做的工作将是毫无意义的,(别人没法用)
如果我们不想让别人知道内部的实现细节,那么就是private,比如,我们这么:
public:
count()
{
mycount();
}
private:
mycount();
这样的,count是对外的接口,而实现的时候,我们不想让外面知道怎么实现的,就用private,防止它用mycount!
如果我们不想让别人知道,想让自己的孩子什么的知道(这里涉及到继承),那么就可以作为protected!
这样的话,private是自己私有的,protected是可以让孩子知道的,public是公开的!
因为有需求,所以才有这样 的设计!
#c++基础知识
相关文章推荐
- c++中的private/protect/public & virtual
- C++学习3 - 定义一个对象
- c++中的private/protect/public & virtual
- 为什么游戏引擎大多选择使用 C++ 而不是 C 开发?
- c++中的private/protect/public & virtual
- 方法的访问控制[Public&Private&Protect]
- 为什么在中断向量表中不直接LDR PC ,"异常地址"。而是使用一个标号,然有再在后面使用 DCD定义这个标号
- 为什么会出现LNK2005"符号已定义"的链接错误?
- vb用户定义类型未定义: Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long ;
- 为什么会出现LINK2005"符号已定义"的链接错误?
- 《C++第九周实验报告3-1》----接第8周任务3,定义分数类中<<和>>运算符重载,实现分数的输入输出
- 为什么会出现LNK2005"符号已定义"的链接错误?
- 为什么会出现LNK2005"符号已定义"的链接错误?
- C/C++:sizeof('a')的值为什么不一样?
- 《C++第九周实验报告1-1》--------接第8周任务1,定义Complex类中的<<和>>运算符的重载,实现输入和输出
- What's the difference between declaring and defining something in C and C++?(C和C++中,声明和定义的区别)
- 为什么会出现LNK2005"符号已定义"的链接错误?
- C++ 为什么要同时使用*和&符号?以及什么场合使用这种声明方式?
- 为什么会出现LNK2005"符号已定义"的链接错误?
- 为什么在C++里调用被C编译器编译的函数,要加extern "c"