访问权限案例说明

简介:
复制代码
#include <iostream>
#include <string>
using namespace std;
class Item_base 
{
    public:
        Item_base(const string &book = "", double sales_price = 0.0):
            isbn(book), price(sales_price) {}
        string book() const 
        { 
            return isbn;
        }
        virtual double net_price(size_t n) const
        {
            return n * price;
        }
    private:
        string isbn;
    protected:
        double price;
};
class Bulk_item : public Item_base
{
    public:
        Bulk_item(void) : Item_base("math", 3.4) {}; 
        double net_price(size_t) const;
        void print() { cout << "hello:" << price << endl; }
        void memfcn(const Bulk_item &d, const Item_base &b);
    private:
        size_t min_qty;
        double discount;
};
double Bulk_item::net_price(size_t cnt) const
{
    if (cnt >= min_qty)
        return cnt * price * (1-discount);
    else
        return cnt * price;
}
void Bulk_item::memfcn(const Bulk_item &d, const Item_base &b)
{
    double ret;
    ret = d.price;
//  ret = b.price;   见解析3
    cout << ret << endl;
}

int main()
{
    Item_base base("English", 1);
    Bulk_item b;
    b.memfcn(b, base);
}
复制代码

public继承

  • 类的私有成员只能通过类的成员访问,类的对象、派生类、派生类对象都是不行的
  • 类的保护成员对于基类来说如同private一样(见上条),对于派生类来说像public一样可以通过派生类访问,但是不可以通过类的派生类对象访问
  • 派生类(不是对象)只能通过派生类对象访问基类的protected成员,而不可以通过基类的对象访问(上例中类中只能通过对象d访问price,而不可以通过b)




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3266399.html,如需转载请自行联系原作者
相关文章
|
2月前
|
存储 人工智能 自然语言处理
Lakehouse x AI ,打造智能 BI 新体验
本文整理自瓴羊的王璟尧老师与镜舟科技石强老师的联合分享,围绕 Quick BI 在智能 BI 场景中的落地实践,深入探讨了 StarRocks 如何凭借 MPP 架构、实时分析能力与 AI 原生支持,成为智能分析的理想 Lakehouse 引擎底座,助力 BI 从“被动查询”迈向“主动决策”,开启数据“会说话”的新体验。
|
机器学习/深度学习 人工智能 监控
基于YOLOv8的人体检测、行人识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8实现人体检测与行人识别,集成PyQt5图形界面,支持图片、视频、摄像头等多种输入方式。包含完整训练代码、数据集及部署教程,开箱即用,适用于安防监控、人数统计等场景。
|
3月前
|
缓存 Windows
电脑小白必看:C 盘满了怎么清理?软件搬到 D 盘的超简单步骤
C盘空间不足导致电脑卡顿?试试这些方法优化!首推FreeMove工具,不到1MB,简单两步搬软件,解放C盘空间。此外,清理临时文件、转移用户文件夹至D盘、调整虚拟内存位置、使用符号链接等技巧也能有效缓解压力。注意:系统核心目录不可移动,操作前请备份重要数据,确保安全!
286 5
|
11月前
|
算法 编译器 C++
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
220 2
|
Prometheus 监控 关系型数据库
数据库实时监控功能
【6月更文挑战第9天】数据库实时监控功能
355 4
Linux磁盘配额
在Linux系统中,当用户的空间占用接近或超过预设的软限制时,系统会警告用户磁盘空间将满。软限制是允许用户使用的磁盘空间的最大值,在此限制下,用户仍有宽限期来减少空间使用。如果在宽限期内用户未减少空间占用,达到硬限制,软限制将升级为硬限制。硬限制是用户可以使用的绝对最大值。默认的宽限期是7天,如果超过这个期限,用户的空间限制会立即降低到硬限制。
|
人工智能 IDE JavaScript
分享一个很好用的代码辅助AI工具CodeGeeX2
分享一个很好用的代码辅助AI工具CodeGeeX2
338 1
|
算法 Unix Shell
【Shell 命令集合 系统管理 】Linux 显示或设置系统时间和日期 date命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示或设置系统时间和日期 date命令 使用指南
462 0
|
存储 Windows
Cheat Engine基本使用方法
Cheat Engine基本使用方法
878 2
|
存储 人工智能 API
Elasticsearch实战:常见错误及详细解决方案
Elasticsearch实战:常见错误及详细解决方案