zoukankan      html  css  js  c++  java
  • 13.6.1 新添加一个界面(Adding One Interface) 简单

    //13.6 系统扩展(System Extension)
    //13.6.1 新添加一个界面(Adding One Interface)
    //添加一个sony2.h 做为调整亮度的操作,他继承者sony.h
    //由Sony派生Sony2

    #include "createsony.h"
    #include "sony.h"
    enum Technology{PUREFLAT,PLASMA,LIQUIDCRYSTAL};
    void fn(Sony* s)
    {
    	Sony2 * ps2 = dynamic_cast<Sony2*>(s); //增加
    	if(ps2) ps2->adjustLight(); //否则不用
    	ps2->adjustVolume();
    	ps2->switchChannel();
    }
    
    void createSonyObject(CreateSony* sp)
    {
    	Sony* s29 = createSonyInch29(sp);
    	fn(s29);
    	delete s29;
    }
    
    #include <iostream>
    using namespace std;
    int main()
    {
    	if(CreateSony* sp = createCreateSony(LIQUIDCRYSTAL)){
    	    createSonyObject(sp);
    		delete(sp);
    	}
    	system("pause");
    	return 0;
    }
    

      

    #ifndef HEADER_SONY2
    #define HEADER_SONY2
    #include "sony.h"
    
    class Sony2 : public Sony
    {
    public:
    	virtual void adjustLight() =0;
    };
    #endif;/**/
    

      

  • 相关阅读:
    CSS 基础(一)
    74.Search a 2D Matrix
    73.Set Matrix Zeroes
    66.Plus One
    64.Minimum Path Sum
    63.Unique Paths II
    62.Unique Paths
    54.Spiral Matrix
    59.Spiral Matrix II
    55.Jump Game
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2357673.html
Copyright © 2011-2022 走看看