訪问控制 protected, public, private 对照
OOP 3大特性:数据抽象,继承,动态绑定
{
private:
std::string isdn;
protected:
double price;
public:
std::string book() const { return isdn; }
};
class Bulk_item::public Item_book
{
...
};
void Bulk_item::memfcn(const Bulk_item &d, const Item_base &b)
{
cout<<isdn;// error: no access to isdn which is private member in Item_base (1)
double ret = price; //ok: use this->price (2)
ret = d.price;// ok: use price from a Bulk_item object (3)
ret = b.price; // error: no access to price from an Item_base (4)
}
using namespace std;
class Base
{
private:
int age;
protected:
int num;
public:
{
cout<<a.num<<endl;
}
virtual void show()
{
num ;
cout<<num<<endl;
}
};
class Devi : public Base
{
public:
void show()
{
num ;
cout<<num<<endl;
}
void test(const Base &a, const Devi &b)
{
cout<<b.num<<endl; //(5)
}
};
int main()
{
Base b, a;
Devi d;
b.show();
d.show(); //ok protected num可被子类使用
d.test(b, d);
//cout<<d.num; //error protected num 不可被子类 对象使用 (6)
;
}
{
public:
void basemen();
protected:
int i;
private:
std::string isdn;
....
};
class Public_derived: public Base
{
int use_base() { return i; } //ok: as proteced member in Public_derived
//...
};
class Private_derived: private Base //注意。对照以下
{
int use_base() {return i;} // ok: i is protected member in Base, private member in Pivate_derived
int print_isdn() {cout<<isdn; } //error: isdn is private member in Base
};
{
//error: Base::i is private in Private_derived
int use_base() {return i;}
};
class Derived_from_Private: public Public_derived
{
//ok: Base::i remain proteced in Public_derived
int use_base() {return i;}
}
Bulk_item bulk; //object of derived type
//ok:use Item_base::Item_base(const Item_base&) constructor
Item_base item(bulk); // bulk is "slice down" to its Item_base portion
//ok:use Item_base::operator = (const Item_base&)
item = bulk; // bulk is "slice down" to its Item_base portion
訪问控制 protected, public, private 对照的更多相关文章
- C++类訪问控制及继承
一.C++类的訪问控制有三类:public,protected和private. 类訪问控制符 类成员可被哪些对象訪问 public 1.类的成员函数.2.类对象.3.友元.4.子类成员函数 prot ...
- JAVA基础之訪问控制权限(封装)
包:库单元 1.当编写一个Java源码文件时.此文件通常被称为编译单元(有时也被称为转译单元). 2.每一个编译单元都必须有一个后缀名.java,而在编译单元内则能够有一个public类,该类名称必须 ...
- php訪问控制
訪问控制通过keywordpublic,protected和private来实现. 被定义为公有的类成员能够在不论什么地方被訪问.被定义为受保护的类成员则能够被其自身以及其子类和父类訪问.被定义为私有 ...
- 关于Apacheserver的訪问控制
Apache的訪问控制指对不论什么资源的不论什么方式的訪问控制. 一.基于主机或者IP地址的控制 这样的訪问控制基于訪问者的主机名或者IP地址,通过使用 Deny 和 Allow 指令.实现同意或者禁 ...
- Phalcon 訪问控制列表 ACL(Access Control Lists ACL)
Phalcon在权限方面通过 Phalcon\Acl 提供了一个轻量级的 ACL(訪问控制列表). Access Control Lists (ACL) 同意系统对用户的訪问权限进行控制,比方同意訪问 ...
- ORA-24247: 网络訪问被訪问控制列表 (ACL) 拒绝
ORA-24247: 网络訪问被訪问控制列表 (ACL) 拒绝 注意:须要在system用户下使用命令 须要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建訪问控 ...
- C++ 訪问控制权限图解
基类訪问权限 类继承方式 子类訪问权限 public public protected public protected private No Access p ...
- C++_类继承4-访问控制protected
public和private来控制对类成员的访问. 还存在另外一个访问类别,这种类别用关键字protected表示.protected和private相似,在类外只能用公有类成员来访问protecte ...
- [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链
应用场景:图片等资源须要设置权限,如:仅仅有认证过的用户才干訪问自己的图片. 解决的方法:使用Nginx的防盗链模块http_secure_link能够实现,该模块默认情况下不包括.故在安装时要加上- ...
随机推荐
- 3.sql
from odps import ODPS o = ODPS(access_id="LTASVb3aOF3ghjek", secret_access_key="FeUoz ...
- Flex接收51单片机发送过来的16进制数据转换为String
private static function toHex(bytes:ByteArray):String{ var pos:int =bytes.position; bytes.position=0 ...
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2
BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) :成功返回socket文件描述符, ...
- git使用教程2-更新github上代码【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/git/ 前言 前面一篇已经实现首次上传代码到github了,迈出了装逼第一步,本篇继续 ...
- eclipse CreateProcess error=87
http://blog.csdn.net/mylove709834360/article/details/9253697 完美解决~
- 关于ScrollView嵌套RecyclerView出现item显示不全的问题
最近使用ScrollView时,发现里面嵌套Listview显示不全,试过重写Listview的onMeasure(),并没有起作用.然后将ListView换成RecyclerView后,高度还是显示 ...
- HDU 5886 Tower Defence(2016青岛网络赛 I题,树的直径 + DP)
题目链接 2016 Qingdao Online Problem I 题意 在一棵给定的树上删掉一条边,求剩下两棵树的树的直径中较长那的那个长度的期望,答案乘上$n-1$后输出. 先把原来那棵树的 ...
- Python的工具包[0] -> numpy科学计算 -> numpy 库及使用总结
NumPy 目录 关于 numpy numpy 库 numpy 基本操作 numpy 复制操作 numpy 计算 numpy 常用函数 1 关于numpy / About numpy NumPy系统是 ...
- Codeforces 208E - Blood Cousins(树上启发式合并)
208E - Blood Cousins 题意 给出一棵家谱树,定义从 u 点向上走 k 步到达的节点为 u 的 k-ancestor.多次查询,给出 u k,问有多少个与 u 具有相同 k-ance ...
- [BZOJ2142]礼物(扩展Lucas)
2142: 礼物 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2286 Solved: 1009[Submit][Status][Discuss] ...