Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Help with my C++ code, Im using visual studio #include #include #include // For the exit function using namespace std; IntArray::IntArray(int s) { arraySize =

Help with my C++ code, Im using visual studio

#include

#include

#include // For the exit function

using namespace std;

IntArray::IntArray(int s)

{

arraySize = s;

aptr = new int[s];

for (int count = 0; count < arraySize; count++)

* (aptr + count) = 0;

}

IntArray::IntArray(const IntArray &obj)

{

arraySize = obj.arraySize;

aptr = new int[arraySize];

for (int count = 0; count < arraySize; count++)

* (aptr + count) = *(obj.aptr + count);

}

IntArray::~IntArray()

{

if (arraySize > 0)

delete[] aptr;

}

void IntArray::subscriptError()

{

cout << "ERROR: Subscript out of range. ";

exit(0);

}

int &IntArray::operator[](const int &sub)

{

if (sub < 0 || sub >= arraySize)

subscriptError();

return aptr[sub];

}

IntArray.h;

// Specification file for the IntArray class

#ifndef INTARRAY_H

#define INTARRAY_H

class IntArray

{

private:

int *aptr; // Pointer to the array

int arraySize; // Holds the array size

void subscriptError(); // Handles invalid subscripts

public:

IntArray(int); // Constructor

IntArray(const IntArray &); // Copy constructor

~IntArray(); // Destructor

int size() const // Returns the array size

{

return arraySize;

}

int &operator[](const int &); // Overloaded [] operator

};

#endif

Here was my qestion

String Class implementation. DO NOT USE/INCLUDE string type (e.g. #include )

Objective: Learning design and use of object oriented programming, operator overloading, constructors (copy constructor, default constructor etc.), destructors, this pointer, friendship relation, and static variables.

Input: String or strings (e.g. s1+s2 will return concatenation of strings s1 and s2)

Output: Required operations outputs e.g. s1>s2 returns true or false, s1[2] returns third char in string s1, s1.Length() returns length of s1 etc.

Project Description: You are required to create your own String class (Note: String class is different than built in string class) like string type in C++. This class should include following operations:

Separate specifications from implementation. Keep header file and class implementation in separate files.

Can initialize created object with a given string or given instance of the same class (use copy constructor)

Dynamically allocates memory for a given string (e.g. String s(Joe); in this case allocates 3 memory spaces for String class instance s)

Returns string length if it is requested (e.g. s.Length())

Clears dynamically allocated memory for String object while destructing (do it in destructor)

Checks boundaries (e.g. if String s size is 10, s[11]= A; will display error message on screen)

In public section of the String class only include interfaces. All other variables and functions must be in private section.

Overloads + operator so that two string can be concatenated. (e.g. String s1,s2,s3; s3 = s1+s2; ) when only have s1+s2; concatenated string will be included in s1.

Overloads [ ] operator so that s[index] will be possible.

Compares two given objects (e.g. String a,b) a>b or a,== operators

Copies one object to another (e.g. a=b or a=b=c) (overload = operator for this purpose)

When required returns number of objects created so far. (e.g. String obj; obj.count()). Obj.count() returns total number of non-empty String objects).

Can get input from the istream class instance (e.g. cin>>s;). Make it friend of the String class.

Can output to the ostream class instance (e.g. cout<Total:

You may use below given class definition as a reference. Complete code for IntArray class is given under Sample Codes folder in Blackboard.

class IntArray

{ private:

int *aptr; // Pointer to the array int arraySize; // Holds the array size void subscriptError(); // Handles invalid subscripts public:

IntArray(int); // Constructor

IntArray(const IntArray &); // Copy constructor

~IntArray(); // Destructor

int size() const // Returns the array size { return arraySize; }

int &operator[](const int &); // Overloaded [] operator friend ostream& operator <<(ostream& stream,IntArray ob); };

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David M Kroenke, David J Auer

6th Edition

0132742926, 978-0132742924

More Books

Students also viewed these Databases questions

Question

3. Review the evidence. Do you believe the testimony presented?

Answered: 1 week ago

Question

What is the purpose of the Salary Structure Table?

Answered: 1 week ago

Question

What is the scope and use of a Job Family Table?

Answered: 1 week ago