Implement the copy assignment operator= for the StringVar class using the options given on the right side window. Place the code into the left side using the arrows. It is possible to get the test case correct but not complete NOTE: Be careful! There are decoys! The this pointer is used extensively.. Assume that StringVar.h has the following declaration: #include class StringVar { public: StringVar() : max_length(20) { // Default constructor size is 20 value = new char[max_length+1]; value[0] = '\0'; } StringVar(int size); // Takes an int for size StringVar(const char cstr[]); // Takes a c-string and copies it StringVar(const StringVar& strObj); // Copy Constructor ~StringVar(); // Destructor int size() const { return max_length; } // Access capacity const char* c_str() const { return value; } // Access value int length() const { return strlen(value); } // Access length StringVar& operator= (const StringVar& rightObj); std::istream& operator>> (std::istream& in, StringVar& strVar); std::ostream& operator<< (std::ostream& out, const StringVar& strVar); private: int max_length; char* va
Implement the copy assignment operator= for the StringVar class using the options given on the right side window. Place the code into the left side using the arrows. It is possible to get the test case correct but not complete
NOTE: Be careful! There are decoys! The this pointer is used extensively..
Assume that StringVar.h has the following declaration:
#include <iostream>
class StringVar {
public:
StringVar() : max_length(20) { // Default constructor size is 20
value = new char[max_length+1];
value[0] = '\0';
}
StringVar(int size); // Takes an int for size
StringVar(const char cstr[]); // Takes a c-string and copies it
StringVar(const StringVar& strObj); // Copy Constructor
~StringVar(); // Destructor
int size() const { return max_length; } // Access capacity
const char* c_str() const { return value; } // Access value
int length() const { return strlen(value); } // Access length
StringVar& operator= (const StringVar& rightObj);
std::istream& operator>> (std::istream& in, StringVar& strVar);
std::ostream& operator<< (std::ostream& out, const StringVar& strVar);
private:
int max_length;
char* value;
};
![I Exit Full Screen
RESPONSE AREA
ANSWER BANK
Organize answer blocks in the proper order:
Move the necessary blocks over into the response area:
i strcpy(rightobj.value, value);
delete this->value;
this->max_length = rightobj.length();
if (this !- &rightObj) {
: StringVar *this;
return *this;
: if (c_str() < rightObj.c_str)) {
: if (*this == rightobj) {
10
: StringVar& StringVar::operator = (const StringVar& rightobj)
# // Copy Assignment operator= for StringVar class.
11
12
# #include <cstring>
13
14
15
}
: #include "StringVar.h"
if (this->max_1length < rightobj.length()) {
: if (length() < rightobj.size()) {
this->value - new char[this->max_length+1];
strcpy(this->value, rightobj.c_str());](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Ff5bb9956-2539-4c8d-9ee9-02ed0be838be%2Fb25d88d8-6b52-4c77-8a01-06bc255ddc29%2Fl43qsbi_processed.png&w=3840&q=75)

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









