欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++設(shè)計(jì)模式之Proxy模式(代理模式)詳解

 更新時(shí)間:2018年07月20日 15:34:30   作者:YBAidam  
這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之Proxy模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

代理模式很容易理解,就是代替別人去做某一件事,打個(gè)比方,我們需要買水果,一般是去超市或者水果店買水果,很少有人去果園買水果,果園是生產(chǎn)水果的地方,但很少出售水果,在這里,水果店,超市就成了代理。

首先定義一個(gè)抽象類,提供所有的函數(shù)接口。

1.定義賣水果的抽象類,也就是接口,果園與超市都要繼承這個(gè)類。

#pragma once
class CSellFruits//定義一個(gè)抽象類
{
public:
 CSellFruits(void);
 virtual ~CSellFruits(void);
 virtual void sellapple()=0; //定義接口,賣蘋果
 virtual void sellorange()=0;//定義接口,賣橘子
};
 
#include "SellFruits.h"
CSellFruits::CSellFruits(void)
{
}
 
 
CSellFruits::~CSellFruits(void)
{
}

2.定義具體類,也就是果園類,果園生產(chǎn)水果,但是一般不買水果

#pragma once
#include "sellfruits.h"
#include <stdio.h>
class COrchard :
 public CSellFruits
{
public:
 COrchard(void);
 virtual ~COrchard(void);
 virtual void sellapple();
 virtual void sellorange();
};
 
#include "Orchard.h"
COrchard::COrchard(void)
{
}
 
 
COrchard::~COrchard(void)
{
}
 
void COrchard::sellapple()
{
 printf("Sell apple\n");
}
 
void COrchard::sellorange()
{
 printf("Sell orange\n");
}

3.定義代理類,代理賣水果的類

#pragma once
#include "sellfruits.h"
#include "Orchard.h"
#include <stdio.h>
class CProcySellFruits :
 public CSellFruits
{
public:
 CProcySellFruits(void);
 virtual ~CProcySellFruits(void);
 virtual void sellapple();
 virtual void sellorange();
private:
 CSellFruits *p_SellFruits; //傳入接口對象
};
 
#include "ProcySellFruits.h"
CProcySellFruits::CProcySellFruits(void):p_SellFruits(NULL)
{
}
 
 
CProcySellFruits::~CProcySellFruits(void)
{
}
 
void CProcySellFruits::sellapple()
{
 if(this->p_SellFruits==NULL)
 {
 this->p_SellFruits=new COrchard(); //用被代理的類實(shí)例化
 }
 this->p_SellFruits->sellapple();//代理果園賣蘋果
}
 
void CProcySellFruits::sellorange()
{
 if(this->p_SellFruits==NULL)
 {
 this->p_SellFruits=new COrchard(); //用被代理的類實(shí)例化
 }
 this->p_SellFruits->sellorange();//代理果園賣橘子
}

4.實(shí)際調(diào)用

CProxySellFruits* p=new CProxySellFruits(); //用代理類賣水果
 p->SellApple();
 p->SellOrange();

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++中范圍(Ranges)與視圖(Views)的常見問題、易錯(cuò)點(diǎn)

    C++中范圍(Ranges)與視圖(Views)的常見問題、易錯(cuò)點(diǎn)

    ranges和views是C20引入的重要特性,它們讓代碼更加簡潔、高效且富有表達(dá)力,通過理解其基本概念、注意常見的陷阱,并合理應(yīng)用高級技巧,開發(fā)者可以充分利用這些新特性,提升軟件質(zhì)量和開發(fā)效率,,本文將深入淺出地探討ranges與views的基礎(chǔ)概念、常見問題、易錯(cuò)點(diǎn)及避免策略
    2024-06-06
  • 淺析Linux下精確控制時(shí)間的函數(shù)

    淺析Linux下精確控制時(shí)間的函數(shù)

    在測試程序接口運(yùn)行時(shí)間的時(shí)候,常用time,gettimeofday等函數(shù),但是這些函數(shù)在程序執(zhí)行的時(shí)候是耗費(fèi)時(shí)間的
    2013-07-07
  • C語言 從根本上理解指針

    C語言 從根本上理解指針

    C語言這門課程在計(jì)算機(jī)的基礎(chǔ)教學(xué)中一直占有比較重要的地位,然而要想突破C語言的學(xué)習(xí),對指針的掌握是非常重要的,本文將具體針對指針的基礎(chǔ)做詳盡的介紹
    2022-04-04
  • C語言函數(shù)棧幀的創(chuàng)建和銷毀介紹

    C語言函數(shù)棧幀的創(chuàng)建和銷毀介紹

    大家好,本篇文章主要講的是C語言函數(shù)棧幀的創(chuàng)建和銷毀介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2021-12-12
  • C++使用map實(shí)現(xiàn)多進(jìn)程拷貝文件的程序思路

    C++使用map實(shí)現(xiàn)多進(jìn)程拷貝文件的程序思路

    這篇文章主要介紹了C++使用mmap實(shí)現(xiàn)多進(jìn)程拷貝文件,通過本文給大家分享程序思路及完整代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C++讀取配置文件的示例代碼

    C++讀取配置文件的示例代碼

    這篇文章主要介紹了C++讀取配置文件的示例代碼,幫助大家更好的理解和學(xué)習(xí)C++開發(fā),感興趣的朋友可以了解下
    2020-08-08
  • 使用C++ Matlab中的lp2lp函數(shù)教程詳解

    使用C++ Matlab中的lp2lp函數(shù)教程詳解

    本文介紹如何使用C++編寫數(shù)字濾波器設(shè)計(jì)算法,實(shí)現(xiàn)Matlab中的lp2lp函數(shù),將低通濾波器轉(zhuǎn)換為參數(shù)化的低通濾波器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-04-04
  • c++中八大排序算法

    c++中八大排序算法

    本篇文章主要介紹了八大排序算法,詳細(xì)的介紹了八個(gè)算法思想,實(shí)現(xiàn)代碼,穩(wěn)定性,時(shí)間復(fù)雜度等,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • 基于Windows C++ 應(yīng)用程序通用日志組件的使用詳解

    基于Windows C++ 應(yīng)用程序通用日志組件的使用詳解

    眾所周知,在調(diào)試、跟蹤和執(zhí)行應(yīng)用程序的過程中,程序的日志能為這些工作提供大量有價(jià)值的運(yùn)行信息。因此,程序的日志對應(yīng)用程序的運(yùn)行、維護(hù)至關(guān)重要
    2013-05-05
  • C++面試八股文之什么是構(gòu)造函數(shù)

    C++面試八股文之什么是構(gòu)造函數(shù)

    構(gòu)造函數(shù)是一種特殊的成員函數(shù),用于創(chuàng)建和初始化類的對象,這篇文章主要為大家詳細(xì)介紹了C++中構(gòu)造函數(shù)的相關(guān)知識點(diǎn),需要的可以參考一下
    2023-06-06

最新評論