享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性

admin2022-08-02  36

问题 享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性能。现要开发一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器,为节省内存空间,采用享元模式实现该程序,得到如图5-1所示的类图。C++代码#include <iostream>#include <vector>using namespace std;enum PieceColor{BLACK, WHITE};   //棋子颜色class PiecePos{    //棋子位置private:   int x;   int y;public:   PiecePos(int a,int b); x(a),y(b){}   int getX(){return x;}   int getY(){return y;}};class Piece{   //棋子定义piece=new BlackPiece(color,pos);  //获取一颗黑子      count<<m_blackName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";      (  4  );   }else{  //放白子      piece=new WhitePiece(color,pos);  //获取一颗白子      count<<m_whiteName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";      (  5  );   }   m_vecPiece.push_back(piece); }};

选项

答案

解析 (1) virtual void DrawO {}
(2) Piece*
(3) Piece *
(4) piece->Draw0
(5) piece->Draw0
转载请注明原文地址:https://www.tihaiku.com/congyezige/2410699.html

最新回复(0)