资源简介
作业02 字符图像
目标:开发字符图像的类。一个字符图像是由多行ANSI可打印字符组成的,各行字符数量可以不同;一个字符图像可以通过加框(Frame)形成一个新的字符图像;两个字符图像可以通过顶端对齐的方式经水平连接(HCat)形成一个新的字符图像;两个字符图像可以通过左端对齐的方式经垂直连接(VCat)形成一个新的字符图像;
1. 现给出了一个字符图像的类定义,如下
实现上边的CharPic类。
2. 上边CharPic中,通过重载构造函数创建字符图像,但构造函数的语义不是非常直观,使用也需要特别小心。请试一试将重载的构造函数改成(简单)工厂方法,使得语义更清晰。
3. 考察完成的
代码片段和文件信息
#include “CharPic.h“
#include
using namespace std;
CharPic::CharPic(int type int rs int cs char** arrayChars) :
rows(type == 1 ? rs : rs + 2)
cols(type == 1 ? cs : cs + 2)
{
if (type == 1) {
data=new char* [rs];
for (int i=0; i < rs; i++) {
data[i]=new char[cs];
for (int j=0; j < cs; j++)
data[i][j]=arrayChars[i][j];
}
}
else if(type==2){
data=new char* [rows];
for (int i=0; i < rows; i++) data[i]=new char[cols];
data[0][0]=data[0][cs + 1]=data[rs + 1][0]=data[rs + 1][cs + 1]=‘‘‘;
for (int i=1; i <= cs; i++) data[0][i]=data[rs + 1][i]=‘-‘;
for (int i=1; i <= rs; i++) data[i][0]=data[i][cs + 1]=‘|‘;
for (int i=1; i <= rs; i++)
for (int j=1; j <= cs; j++)
data[i][j]=arrayChars[i - 1][j - 1];
}
}
CharPic& Ch
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2816 2019-10-07 14:48 作业02\T01\T01\CharPic.cpp
文件 936 2019-10-07 14:48 作业02\T01\T01\CharPic.h
文件 6188 2019-10-06 09:54 作业02\T01\T01\T01.vcxproj
文件 1072 2019-10-06 09:54 作业02\T01\T01\T01.vcxproj.filters
文件 168 2019-10-06 09:42 作业02\T01\T01\T01.vcxproj.user
文件 1430 2019-10-06 09:43 作业02\T01\T01.sln
文件 3840 2019-10-07 14:56 作业02\T02\T02\CharPic.cpp
文件 1538 2019-10-07 14:51 作业02\T02\T02\CharPic.h
文件 6188 2019-10-06 10:59 作业02\T02\T02\T02.vcxproj
文件 1072 2019-10-06 10:59 作业02\T02\T02\T02.vcxproj.filters
文件 168 2019-10-06 09:54 作业02\T02\T02\T02.vcxproj.user
文件 1430 2019-10-06 09:54 作业02\T02\T02.sln
文件 137728 2019-10-07 15:23 作业02\T03\Debug\T03.exe
文件 909560 2019-10-07 15:23 作业02\T03\Debug\T03.ilk
文件 1134592 2019-10-07 15:23 作业02\T03\Debug\T03.pdb
文件 40797 2019-10-07 15:23 作业02\T03\T03\Debug\main.obj
文件 445861 2019-10-07 15:23 作业02\T03\T03\Debug\Pic.obj
文件 933 2019-10-07 15:23 作业02\T03\T03\Debug\T03.log
文件 2674 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\CL.command.1.tlog
文件 37824 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\CL.read.1.tlog
文件 1260 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\CL.write.1.tlog
文件 2710 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\li
文件 3768 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\li
文件 620 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\li
文件 222 2019-10-07 15:23 作业02\T03\T03\Debug\T03.tlog\T03.lastbuildstate
文件 265216 2019-10-07 15:23 作业02\T03\T03\Debug\vc142.idb
文件 569344 2019-10-07 15:23 作业02\T03\T03\Debug\vc142.pdb
文件 709 2019-10-07 15:23 作业02\T03\T03\main.cpp
文件 3056 2019-10-07 15:22 作业02\T03\T03\Pic.cpp
文件 1645 2019-10-07 15:19 作业02\T03\T03\Pic.h
............此处省略55个文件信息
- 上一篇:web编程基础试题及答案
- 下一篇:tracepoint_lttng使用详解
评论
共有 条评论