Question
HELP ME HOW CAN I IMPLEMENT Canvas(string s) AND void add(char x); to my draft code // Allocates a canvas containing the sequence of characters
HELP ME HOW CAN I IMPLEMENT Canvas(string s) AND void add(char x); to my draft code
// Allocates a canvas containing the sequence of characters // in the string with 2 columns of space between each pair // of adjacent characters. For instance, Canvas("BADCAB") // should yield: // // #### ### #### #### ### #### // # # # # # # # # # # # // #### ##### # # # ##### #### // # # # # # # # # # # # // #### # # #### #### # # #### // // Any characters in s not from {'A', 'B', 'C', 'D'} should be // replaced with empty 5x5 space, just like previous constructor. // If the string is empty (null string), the canvas is empty // (pointer is NULL and _width is 0) Canvas(string s);
// Adds a character to the Canvas's sequence of characters. void add(char x);
private: // A canvas is represented as a 2D char array, i.e. // an array of pointers to char (sub)arrays. // Each subarray corresponds to a COLUMN of the image. char** C; int _width; };
#endif
-------------canvas.cpp---------------
#include
using namespace std;
int maxr;
Canvas::Canvas(int width){ _width =width; C = new char*[_width]; // setting the double pointer to point to cols for (int hop2 = 0; hop2
Canvas::Canvas(char x) { _width = 5; C = new char*[_width]; for (int j = 0; j
//spaces for(int hop1=0;hop1
C[1][2]='#'; C[2][2]='#'; C[3][2]='#'; }
if((x=='B')||(x=='b')) { //Letter B for(int x1=0;x1
if((x=='C')||(x=='c')){ //Letter C for(int x1=1;x1
}
if((x=='D')||(x=='d')){ //Letter D for(int x1=0;x1
Canvas::~Canvas() { if (C != nullptr) { for (int i = 0; i
string Canvas::to_string() { //add spaces string result; if (_width != 0) { for (int i = 0; i
In this homework, you'll implement a class that represents "ASCII art" images and operations on them, represented as two-dimensional char arrays allocated on the heap (using the new operator). The following files are given to you: 1. A C++ header file (canvas.h) declaring the Canvas class. 2. A C++ source file (main.cpp) containing a main() function with tests. Create a new C++ source file named canvas.cpp that implements the class declared in canvas.h so that canvas.cpp and the provided files compile into a program that runs with no failed tests
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started