Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

// I am going to match the names that STL uses so you don't get confused in the real world. I'm skipping operator [] for

// I am going to match the names that STL uses so you don't get confused in the real world. I'm skipping operator [] for a specific reason that // doesn't come up for a few weeks.

template // Whatever main puts in the <> gets find-replaced to every "T" class Vector { T* mData; int mSize; // Size is how much data. Capacity is how much memory. int mCapacity;// For testing purposes, initialize this to 15. Whenever you allocate new memory, double it.

T mUndefined;// Lots of STL functions say that doing something naughty gets "undefined behavior". It could throw, crash, make you eggs, or return nonsense. // Return this undefined one if anybody ever tries to go out of bounds.

public: Vector()// O(1) { mSize = 0; mData = nullptr; Reserve(15); } // Big 3 ~Vector() { // Free all memory } Vector(const Vector& tOther) : Vector()// O(n) { } Vector& operator =(const Vector& tRHS)// O(n) { return *this; // This line is weird so I'm just giving it to ya. It's just the definition of an = } void PushBack(const T& tItem)// O(1) { } void PopBack()// O(1) { } T& At(int tWhere)// O(1) { return mUndefined; } void Clear()// O(1) { } int Size()// O(1) { return 0; } void Reserve(int tCount)// O(n) { } int Capacity()// O(1) { return 0; } };

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

Relational Database And Transact SQL

Authors: Lucy Scott

1st Edition

1974679985, 978-1974679980

More Books

Students also viewed these Databases questions