亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? frame_step08.txt

?? 用什么語言能編制出好的程序
?? TXT
字號:
//*****************************************************
//		Step 8   
//		
//  Desc: 1) 添加Frame,HCat,VCat等靜態函數或全局函數。
//        2) 為將Node* 自動轉換成Picture對象,添加Picture的私有構造函數
//		Picture(Node *p):pt(p) {}
//	  3) 添加main函數 
//*****************************************************

/----------------------- ProgramMain---------------------------
#include "Pictures.h"

char * array[]={"123","456","789"};

int main()
{
	Picture a(array,3,3);
	cout<<"a="<<endl;
	a.Display();

	Picture b=Picture::Frame(a);
	cout<<"b="<<endl;
	b.Display();

	Picture c=Picture::HCat(b,a);
	cout<<"c="<<endl;
	c.Display();

	Picture d=Picture::Frame(Picture::VCat(c,b));
	cout<<"d="<<endl;
	d.Display();
	return 0;
}

//------------------  Pictures.cpp  ---------------------
#include "Pictures.h"

Picture Picture::Frame(const Picture& org)
{
	return Picture(new FramePic(org));
}
Picture Picture::HCat(const Picture& one,const Picture& two)
{
	return Picture(new HCatPic(one,two));
}
Picture Picture::VCat(const Picture& one,const Picture& two)
{
	return Picture(new VCatPic(one,two));
}


Picture::Picture(char ** array,int wd, int ht)
:pt(new DataPic(array,wd,ht)) 
{
}

Picture::~Picture()		
{
	ReleaseRef();
}
Picture::Picture(const Picture& rhs)
{
	pt=rhs.pt;
	AddRef();
}
Picture& Picture::operator=(const Picture& rhs)
{
	if (this==&rhs) return (*this);
	ReleaseRef();
	pt=rhs.pt;
	AddRef();
	return (*this);
}

int	 Picture::Width() const
{ 
	return pt->Width(); 
} 
int  Picture::Height() const
{
	return pt->Height();
}

void Picture::AddRef()
{
	++pt->use;
}
void Picture::ReleaseRef()
{
	if (--pt->use==0)
		delete pt;
}

// new added
//-------------------------------------------------------
void Picture::Display() const
{
	int ht=Height();
	int wd=Width();
	for (int row=0;row<ht;row++) 
	{
		DisplayLine(row,wd);
		cout<<endl;
	}
}
void Picture::DisplayLine(int lineno,int wd) const
{
	pt->DisplayLine(lineno,wd); 
}

void Node::Pad(int from,int to)
{
	for (int i=from;i<to;i++)
		cout<<" ";
}

void DataPic::DisplayLine(int lineno,int wd) const
{
	if(lineno>=0 && lineno<Height()) {
		int len=Width();
		for(int i=0;i<len;i++)
			cout<<data[lineno*len+i];
		Pad(len,wd);
	}else {
		Pad(0,wd);
	}
	
}
void FramePic::DisplayLine(int lineno,int wd) const
{
	if (lineno>=0 && lineno<Height()) {
		if ((lineno==0) ||(lineno==Height()-1)) { //頂或底
			cout<<"+";
			int len=kernel.Width();
			for (int i=0;i<len;i++) cout<<"-";
			cout<<"+";
		}else { //內部
			cout<<"|";
			int len=kernel.Width();
			kernel.DisplayLine(lineno-1,len);
			cout<<"|";
		}
		Pad(Width(),wd);
	}else { //越界
		Pad(0,wd);
	}
}
void HCatPic::DisplayLine(int lineno,int wd) const
{
	left.DisplayLine(lineno,left.Width());
	right.DisplayLine(lineno,right.Width());
	Pad(Width(),wd);
}
void VCatPic::DisplayLine(int lineno,int wd) const
{
	if ((lineno>=0) && (lineno<top.Height()))
		top.DisplayLine(lineno,wd);
	else if (lineno<top.Height()+bottom.Height())
		bottom.DisplayLine(lineno-top.Height(),wd);
	else
		Pad(0,wd);
}





//------------------  Pictures.h  ---------------------
#ifndef PICTURESH
#define PICTURESH

#include <iostream.h>
class Node;

class Picture
{
public:
	static Picture Frame(const Picture& org);
	static Picture HCat(const Picture& one,const Picture& two);
	static Picture VCat(const Picture& one,const Picture& two);
public:
	Picture(char ** array,int wd, int ht);
	~Picture();
	Picture(const Picture& rhs);
	Picture& operator=(const Picture& rhs);	
public:
	void Display() const;
	void DisplayLine(int row,int wd) const;
	int  Width() const;
	int  Height() const;
private:
	Picture(Node * p):pt(p) {}
	void AddRef();
	void ReleaseRef();	
private:
	Node *  pt;
};
//-------------------------------------------------------
class Node
{
	friend class Picture;
public:
	Node():use(1)   {}		
	virtual ~Node()	{}
	virtual void DisplayLine(int row,int wd) const=0;
	virtual  int  Width()  const=0;
	virtual  int  Height() const=0;
protected:	
	static int max(int a,int b) {return a>b?a:b;}
	static void Pad(int from,int to);
private:
	int  use;
};
//------------------------------------------------------
class DataPic:public Node
{
public:
	DataPic(char ** array,int wd, int ht):w(wd),h(ht)
	{	
		data=new char[w*h];
		for (int i=0;i<h;i++)
			for (int j=0;j<w;j++)
				data[i*w+j]=array[i][j];

	}
	~DataPic()	{delete[] data;}
protected:
	void 		DisplayLine(int row,int wd) const;
	int		Width() const	{return w;}
	int		Height() const	{return h;}
private:
	DataPic(const DataPic& rhs);		//no define
	DataPic& operator=(const DataPic& rhs);	//no define
private:
	int		w;
	int		h;
	char *	data;
};
//------------------------------------------------------
class FramePic:public Node
{
public:
	FramePic(const Picture& rhs):kernel(rhs) {}  
	~FramePic() {}
protected:
	void DisplayLine(int row,int wd) const;
	int Width() const	{return kernel.Width()+2;}
	int Height() const	{return kernel.Height()+2;}
private:
	Picture	kernel;
};
//------------------------------------------------------
class HCatPic:public Node
{
public:
	HCatPic(const Picture& lpic,const Picture& rpic)
		:left(lpic),right(rpic) {}	
	~HCatPic() {}
protected:
	void DisplayLine(int row,int wd) const;
	int Width() const    {return left.Width()+right.Width();}
	int Height() const   {return max(left.Height(),right.Height());}
private:
	Picture		left;
	Picture		right;
};
//------------------------------------------------------
class VCatPic:public Node
{
public:
	VCatPic(const Picture& tpic,const Picture& bpic)
		:top(tpic),bottom(bpic) {}	
	~VCatPic() {}
protected:
	void DisplayLine(int row,int wd) const;
	int Width() const  {return max(top.Width(),bottom.Width());}
	int Height() const {return top.Height()+bottom.Height();}
private:
	Picture		top;
	Picture		bottom;
};
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一级特黄大欧美久久久| 久久久国产一区二区三区四区小说| 韩国一区二区三区| 蜜桃视频在线观看一区| 日韩av一区二区在线影视| 国产精品1区2区| 成人久久18免费网站麻豆| 欧美激情在线看| 亚洲自拍另类综合| 精品美女一区二区| 精品1区2区在线观看| 精品动漫一区二区三区在线观看| 国产.精品.日韩.另类.中文.在线.播放| www.成人在线| 久久久久久久电影| 国产一区二区主播在线| 91麻豆精品国产91久久久资源速度 | 捆绑调教一区二区三区| 在线精品视频小说1| 亚洲图片激情小说| 91视视频在线直接观看在线看网页在线看| 精品国产污污免费网站入口 | 中文字幕久久午夜不卡| 毛片基地黄久久久久久天堂| 91精品国产一区二区三区香蕉| 夜夜嗨av一区二区三区网页 | 日韩视频在线你懂得| 日韩av中文字幕一区二区三区| 91成人看片片| 亚洲成人黄色影院| 欧美片在线播放| 丝袜亚洲另类丝袜在线| 91精品一区二区三区久久久久久| 亚洲一区二区视频在线| 欧美日韩电影在线播放| 婷婷六月综合网| 91麻豆精品国产91久久久久 | 亚洲欧美日韩人成在线播放| 色综合夜色一区| 亚洲一区二区三区三| 欧美日韩中文字幕精品| 亚洲www啪成人一区二区麻豆| 欧美美女直播网站| 日本va欧美va精品| 久久在线免费观看| 成人免费毛片高清视频| 一区二区三区在线观看网站| 欧美高清一级片在线| 另类专区欧美蜜桃臀第一页| 国产视频一区在线观看| www..com久久爱| 亚洲成人av中文| 日韩精品一区二区三区视频播放| 韩国v欧美v日本v亚洲v| 国产精品国产三级国产普通话99 | 亚洲一二三四区不卡| 欧美一级二级在线观看| 国产成人日日夜夜| 一区二区激情视频| 日韩一级精品视频在线观看| 成人一级黄色片| 午夜视频一区二区| 久久免费视频一区| 欧美中文字幕久久| 精品一区二区三区久久久| 1区2区3区欧美| 欧美一区二区国产| caoporm超碰国产精品| 蜜臀久久99精品久久久久宅男| 国产日韩欧美精品一区| 欧美视频在线不卡| 国产69精品久久久久777| 亚洲成av人在线观看| 国产欧美一区二区精品秋霞影院| 91国偷自产一区二区开放时间| 精品一区免费av| 一区二区三区国产精品| 国产亚洲午夜高清国产拍精品| 欧美体内she精高潮| 成人av网站在线观看| 日本欧美一区二区在线观看| 亚洲欧洲日产国产综合网| 欧美tickling网站挠脚心| 一本一本大道香蕉久在线精品 | 美美哒免费高清在线观看视频一区二区 | 一区二区三区精品久久久| 国产日韩v精品一区二区| 制服.丝袜.亚洲.中文.综合| 91麻豆国产香蕉久久精品| 国产精品1区2区3区| 免费观看30秒视频久久| 亚洲第一精品在线| 亚洲精品视频在线观看网站| 国产精品麻豆欧美日韩ww| 欧美一区二区精品久久911| 欧美日韩一级片在线观看| 色综合色狠狠综合色| 风流少妇一区二区| 国产一区久久久| 免费成人小视频| 日韩精品三区四区| 亚州成人在线电影| 亚洲一区二区在线视频| 亚洲制服丝袜一区| 亚洲在线视频免费观看| 亚洲午夜av在线| 亚洲成人av一区二区| 亚洲成人免费视| 午夜视频一区二区| 日本在线不卡视频一二三区| 午夜av一区二区三区| 亚洲成人资源网| 日日噜噜夜夜狠狠视频欧美人| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品久久久久久久浪潮网站 | 日韩欧美中文字幕制服| 欧美大片在线观看| 久久综合色婷婷| 久久精品亚洲精品国产欧美kt∨| 2020国产精品| 久久久久9999亚洲精品| 国产精品丝袜久久久久久app| 日本一二三四高清不卡| 国产精品国产三级国产普通话三级 | 视频一区中文字幕| 奇米影视一区二区三区| 久久国产综合精品| 国产精品一二三| 成人免费av网站| 91碰在线视频| 4438成人网| 久久精品一区二区三区四区| 国产精品久久免费看| 亚洲一区二区四区蜜桃| 毛片av一区二区三区| 成人精品视频网站| 欧美三区在线视频| 精品久久久久av影院| 国产精品美女久久久久aⅴ国产馆| 专区另类欧美日韩| 蜜桃视频在线观看一区二区| 国产一区二区三区不卡在线观看 | 色就色 综合激情| 欧美一级日韩免费不卡| 国产日韩精品一区二区三区在线| 亚洲卡通欧美制服中文| 偷窥少妇高潮呻吟av久久免费| 国产精品一二三区在线| 欧美最猛黑人xxxxx猛交| 欧美不卡激情三级在线观看| 国产精品色一区二区三区| 五月综合激情网| 国产成人精品网址| 6080国产精品一区二区| 国产欧美一区二区精品性色| 首页国产欧美久久| 色综合中文字幕| 2欧美一区二区三区在线观看视频| 最新日韩在线视频| 九九视频精品免费| 色哟哟欧美精品| 亚洲精品一区二区在线观看| 亚洲一二三区视频在线观看| 国产**成人网毛片九色| 日韩一区和二区| 亚洲高清免费视频| 99视频超级精品| 亚洲精品一区二区三区99| 亚洲在线观看免费| 99re成人精品视频| 国产欧美综合在线| 精品一区二区三区在线观看| 欧美日韩一区二区不卡| 中文字幕免费不卡| 国产一区不卡视频| 日韩三级高清在线| 亚洲小说春色综合另类电影| 91免费看片在线观看| 中文字幕精品一区二区精品绿巨人| 日韩高清不卡一区二区三区| 欧美专区日韩专区| 一区二区三区在线免费视频| 99国产精品一区| 国产精品毛片无遮挡高清| 国产精品一区二区在线看| 欧美成人性战久久| 免费人成网站在线观看欧美高清| 欧美日韩国产高清一区| 一区二区国产视频| 欧洲国内综合视频| 香蕉av福利精品导航| 欧美私人免费视频| 亚洲国产精品一区二区久久恐怖片| 色综合天天视频在线观看| 国产精品国产成人国产三级| 成人av网站在线| 亚洲另类中文字| 欧美日韩国产另类一区| 日韩**一区毛片| 欧美大片国产精品|