C++ :: Array Of Objects And Inheritance

Dec 20, 2013

I have Class A as a base class , and Class B , C derived classes from A and there's class D who have a data member (pointer to Array) of type A (Composition)

class D{
A **a;
int size;
.......
a = new A*[size];
......
};

And i have Print method , in its body i have to specific element (if it from class B or C ) with a given ID(both B and C have a data member ID ) there should be 2 options in print function .. printing elements for class B , or printing elements for class C ? how can i specific the elements ?

View 5 Replies


ADVERTISEMENT

C++ :: Self-Deleting Objects With Inheritance

May 27, 2013

I'm writing a bunch of classes like Form, Button, etc. All these are derived from a base Object class. I want to make these objects auto-delete, so I only have to declare the new keyword, and the program will clean them when necessary. I understand the implications of dereferencing, I just have a couple of questions about my code.

I through this run-down example together:

Code:
#include <Windows.h>
#include <map>
class Object {
public:
Object() {};
~Object() {};
void *operator new(size_t size);
void operator delete(void *ptr);

[Code] .....

I have added a static variable of std::map type called m_Dynamic. I have overloaded the new and delete keywords (within the Object class) to keep the m_Dynamic map up-to-date. This prevents objects created on the stack from being deleted.

The object itself can then be deleted via the base Dispose() method. Or methods such as Destroy() can be added in derived classes and call upon Object::Dispose() themselves. This can be overloaded, etc, but eventually will be removed from the public view. I only have it here for testing.

From what I can tell everything "works", though I'm uncertain that the object is being correctly deleted.

Though, my main concern is that when a derived class such as Circle calls Dispose() which in turns fires delete this. Does it free() the sizeof(Object) or does it correctly free() the sizeof(Circle)?

Are there any other things I should be vary of? I only just started playing with new/delete overloading yesterday.

View 14 Replies View Related

C++ :: Array Of Class With Inheritance?

Jun 6, 2012

Shape base class, line and Point derived classes. What should I declare in .h files and implement in .cpp files that this is array will be work.

My major concern refer to operator [] and assign (=) operator. As far as I understand I should overload ([]) and (=) three times for classes shape , line and point or not... or is it possible made through virtual function? How will be code looks like ?

Code:
// part of main.cpp
Shape* shapes[3]; // Array of pointers to Shape
shapes[0] = new Shape();
shapes[1] = new Line ("line from array ", Point(1,22),Point(33,22));
shapes[2] = new Point(11,44);
cout << "using ToString function" << endl;
for(int i=0; i < 3; i++)
cout << s[i]->ToString();
for(i=0; i < 3; i++)
delete s[i];

View 2 Replies View Related

C++ :: Passing Multiple Array To Function Sum Using Inheritance

Dec 17, 2014

Write a program using inheritance allow user to enter grades of his students 5~8 students as a base class and compute the sums for each students in derived class and compute the average of sums in another derived class. I created 3 classes in 1 header file and 1 cpp file how ever i cant seem to get the sum or the average to show up on execution time

header file
#ifndef GRADES_H_INCLUDED
#define GRADES_H_INCLUDED
class Grades {
public:
Grades()

[Code] .....

View 2 Replies View Related

C++ :: Pointer-to-member Array Crashes With Virtual Inheritance?

Sep 30, 2014

I've got the following code which demonstrates a problem :

Code:
struct A {
double x[2];
double i;
};
struct B : virtual public A {
double y[2];

[code]....

I'm wondering if this is a compiler bug. Why doesn't the pointer-to-(derived)-member work for the array if it works for the non-array?

View 4 Replies View Related

C++ :: How To Use Class With Array Of Objects

Oct 12, 2014

class FlashCard {
public:
int a,b;
void PrintCard(void);
int CorrectAnswer(void);
};
void SwapFlashCard(FlashCard &a,FlashCard &b)

[Code]....

Why does Xode warn me that Type'FlashCard'does not provide a subscript operator on line 22,23,29 and 30?

View 7 Replies View Related

C++ :: Using Array Of Pointers To Objects?

Sep 27, 2013

I've created an Array of pointers to objects using:

Person ** A = new person * [arraysize];

When I intend to access a specific person do I have to do this? :

something = A->[i];

and when I want a specific object within my struct do I have to do this? :

something_else = A->[i]->random_int;

View 10 Replies View Related

C++ :: Array Of Class Objects

May 13, 2014

I need an array of class objects but am unsure of how one might accomplish this. I have so far...

//element class driver code
Element Arsenic(lowCeiling, highCeiling);
Element Cadmium(lowCeiling, highCeiling);
Element Chromium(lowCeiling, highCeiling);
Element Copper(lowCeiling, highCeiling);
Element Lead(lowCeiling, highCeiling);
Element Nickel(lowCeiling, highCeiling);
Element Molybdenum(lowCeiling, highCeiling);
Element Mercury(lowCeiling, highCeiling);
Element Selenium(lowCeiling, highCeiling);
Element Zinc(lowCeiling, highCeiling);

Element metal[10] = {Arsenic, Cadmium, Chromium, Copper, Lead, Nickel, Molybdenum, Mercury, Selenium, Zinc};

Could the array be created in this manner or is that illegal code?

View 2 Replies View Related

C++ :: Array Of New Objects - Delite?

Mar 22, 2013

When I make an array of new objects and write delite arraySelector, will that delite all of the array elements or just the first one?

View 9 Replies View Related

C/C++ :: Quicksort For Array Of Objects

Feb 16, 2014

I have a homework requiring me to use quicksort on a pointer array of CDs. They are sorted by the title. I have tried the general solution for integer arrays which sets the pivot at the middle integer but it didn't work/ stopped working when I tried to start sorting the already inputed CDs. The same is happening with the current version (an adaptation of pieces of code):

void swap(CD &a, CD &B)/>
{
CD temp;
temp = a;

[Code]....

View 2 Replies View Related

C++ :: Array Of Pointers To Objects?

Dec 5, 2013

my code:

int OKCount=0;
int WaitingCount=0;
int ReservationCount=0;
Flight::Flight(int capacity, int waitingMax) {
seats=capacity;

[code].....

reservations is a data member in the class flight as:

Reservation **reservations;

OKReservation is a derived class and its abstract base class is Reservation.

My problem is that the reservations array loses its value in other function

View 8 Replies View Related

C/C++ :: Array Of Payroll Objects?

May 20, 2014

Define a PayRoll class that has data members for an employee's hourly pay rate (an integer , representing cents) and number of hours worked (also an integer ). The class provides two member functions, setRate and setHours that assign the value of their parameter to the appropriate data member. The class provides a third member function, getPay, that returns weekly gross pay (in cents), computed as follows: hours times rate for the first 35 hours plus hours times rate times one and a half for any hours past 35.

View 3 Replies View Related

C++ :: Subclass Objects In One Array?

Jul 16, 2012

i want to save similar objects, meaning having same superclass, in an array. Example: I have a superclass vehicle. Class car and truck inherit from vehicle. Now i have a few from both of them an want to put them in an array, vector, set or else. Is this possible in C++ or are there an workarounds? When i remember right, Java and C# offer this feature.

Here again an example:

Code:
class vehicle{
int mMaxSpeed;
} class truck : public vehicle {
int mTrailerLength;
} class car : public vehicle {

[code]....

View 5 Replies View Related

C++ :: Class Admin - Array Of Objects

Jun 26, 2013

What I want to do is have an admin class which will hold all the employee objects, can add them, list and calculate salaries. I'm trying to make array of objects, not sure if it's right

here is the code

Code: #include <iostream>
#include <string>
using namespace std;

class Employee {
public:
Employee(string name, short type, int salary)

[Code] .....

View 2 Replies View Related

C++ :: Traversing Array Of Lists Of Objects?

Nov 13, 2013

I am working on building a graph of a maze problem using an adjacency list and my own custom class Node.

Each Node has a vNum and jumpAmount integer variable, the vNum is the unique key.

If I have an array of lists of Node objects declared by: Code: forward_list<Node> adjacencyList[10] I skip the 0 row and only use 1-9. It makes more sense logically for my program and Im not worried about wasted memory at this point.

How could I go about traversing and outputting member variables for all the Nodes in each list in my array?

Say my code builds the following adjacency list:

Code:
1 -> { 2, 3, 4, 7 }
2 -> { 1, 3, 5 }
3 -> { 1, 2, 6 }
4 -> { 1, 5, 6, 7 }
5 -> { 2, 4, 8 }
6 -> { 3, 4 }
7 -> { 1, 4, 8 }
8 -> { 5, 7, 9}
9 -> { 8 }

where the values in brackets are the nodes that have an edge with the ith row node. Had to put it in code tags for the thread to be allowed to post.

I am using the forward_list library for my list functions and this is where my problem arises. The cplusplus.com - The C++ Resources Network website iterates through the list using:

Code:
for ( auto it = mylist.begin(); it != mylist.end(); ++it )
std::cout << ' ' << *it;

Obviously this works for ints, doubles, etc, but not objects with member variables. My attempt to replicate this code for my problem looks like:

Code:
for( int i = 1; i < 10; ++i ) {
cout << "Node " << i << " -> { ";
for( Vertex it = adjList[i].begin(); it != adjList[i].end(); ++it )
{
cout << it.getVNum() << ", ";
}}

I have to come up with user defined conversions for this to work and I have never done such a thing. Is there a way to go about doing this to avoid user defined conversions, because if there isnt I feel like attempting to do this specific problem might be a little too difficult for someone who hasnt defined any custom conversions.

Potentially, I could write my own List class and have a next pointer member variable that points to the next object in the list and use that to use a dot reference to a get function to display member variables. This is how I learned linked lists back in my Data Structures class. However I am trying to avoid that for the time being, as that would be a lot more code to implement rather than just figuring out how to use the forward_list library.

View 4 Replies View Related

C++ :: Use Array To Store Class Objects?

Feb 11, 2013

So starting with the Item.h file :

#ifndef ITEMH
#define ITEMH
using namespace std;
class Item

[Code]...

I think I'm getting the wrong idea about strings. I thought I could add data just by using '+=' but apparently not.

View 4 Replies View Related

C++ :: How To Make Array Of Objects For Class

Aug 18, 2013

class A {
Public:
A (int);
A(int,int);
int get (int,int);
};

View 5 Replies View Related

C++ :: Creating Array Of Eight Circle Objects

Nov 4, 2013

Im supposed to create an to array of eight Circle objects initialized with the following radii: 2.5, 4.0, 1.0, 3.0, 6.0, 5.5, 3.5, 2.0. Then use a bubble sort to arrange the objects in ascending order of radius size before displaying the area of each object.

The error I get is "Cannot open include file: 'Circle.h': No such file or directory". Do I have to create a separate file for it?

#include <iostream>
#include <iomanip>
#include "Circle.h"
using namespace std;
class Circle {
public:
Circle()

[Code] ...

View 1 Replies View Related

C++ :: How To Initialize Array Of DirectX9 Objects

Jan 3, 2015

I've got an error saying that there is an access violation at 0x0000040 error no 0xC0000005

I've searched the net, saying the error may be due to an uninitialzed variable.I debugged the code, and found out that an object created from directx D3DXMATRIXA16 is uninitialized.With values ??,??,?? in each element

pMeshContainer->pBoneMatrices = new D3DXMATRIXA16[g_NumBoneMatricesMax];

here, pMeshContainer is a variable passed into a function called GenerateSkinnedMesh by pointer

GenerateSkinnedMesh(..., D3DXMESHCONTAINER_DERIVED *pMeshContainer)

Then in turn, GenerateSkinnedMesh is called within a callback from a DirectX9 API called

ID3DXAllocateHierarchy

Code:
class CAllocateHierarchy : public ID3DXAllocateHierarchy {
public:
STDMETHOD( CreateFrame )( THIS_ LPCSTR Name, LPD3DXFRAME *ppNewFrame );
STDMETHOD( CreateMeshContainer )( THIS_
LPCSTR Name,

[code]....

when the method CreateMeshContainer finished execution, the meshContainer is passed back to its parent like this

*ppMeshContainer = pMeshContainer;

The whole meshContainer stuff is stored persistently inside the frame root wrapped within a class called CMesh So in that process, I haven't initialized pBoneMatrices in anyways. But what and where is the best way to initialize an array of DirectX9 objects.

There is a function called

D3DXMatrixIdentity(&...);

But how can I initialize each one of them with this call?

Notice that pMeshContainer->pBoneMatrices does contain a valid address, despite the fact that the elements inside it are never initialized...

View 5 Replies View Related

C++ :: Binary Search Of String In Array Of Objects

Oct 20, 2013

I need to search for a string in an array of objects, this is what I have but it does not seem to work, it always gives me the second string in the array instead of the one that i search for.

void binarySearch(Student S[], string name) {
int first = 0;
int last = 9;
int middle;
int position = -1;
bool found = false;

[Code]...

View 3 Replies View Related

C++ :: Periodic Table Program - Array Of Objects

Feb 4, 2014

I'm writing a periodic table program to understand classes. I want to be able to display/sort the elements by several properties such as whether it's a metal, nonmetal, or metalloid. I'm not sure hwo to do it, but my first guess was to create an array of objects; however, I'm having problems using my constructor to set the values.

Class
class Element{
public:
enum class groupNames { HYDROGEN, ALKALI, ALKALINE, GROUP_THREE, GROUP_FOUR, GROUP_FIVE,
GROUP_SIX, GROUP_SEVEN, GROUP_EIGHT, GROUP_NINE, GROUP_TEN,
GROUP_ELEVEN,GROUP_TWELVE, GROUP_THIRTEEN, GROUP_FOURTEEN,
GROUP_FIFTEEN, CHALCOGEN, HALOGEN, NOBLE_GAS,

[code].....

View 5 Replies View Related

C++ :: Selection Sort On Array Of Class Objects?

Jan 24, 2013

I have written a selection sort algorithm to go sort an array of class objects by age in ascending order, the problem is that the output being given does not match what i think the code should do. when the program runs the 3 records are added to the array and when they are sorted should be outputed in ascending order, the problem is that with my code the last 2 are sorted properly but the first element does not seem to move, it remains the same as the original unsorted value.

My code for the selection sort function and the display method are below:

void selectionSort() {
int i, minIndex, minValue;
for (i = 0; i < (arrlength - 1); i++) {
minIndex = i ;

[Code].....

View 1 Replies View Related

C++ :: Linear Searching Through Array Of Class Objects

Jan 22, 2013

I have a linear search algorithm set up to search through an array of class objects it works but the output does not match, when i search for a particluar name in the array the 1st and third values int the array are found but the second value is not found..

below is my code:

int linsearch(string val) {
for (int j=0; j <= 3; j++) {
if (player[j].getLastName()==val)
return j ;

[Code] .....

View 2 Replies View Related

C++ :: Manipulate Array Of Student Record Objects

May 15, 2014

Create an application to manipulate an array of student record objects. A student record will consist of a name (first, middle, and last), an ID number (9 numeric digits, cannot be more or less), an address (street, city, state, and 5 digit Zip code), and a phone number (3 digit area code and 7 digit number). The application will support an array of students. The user will be allowed to enter records from the keyboard, sort records by either name (last, first, middle) or by ID, save the records to a disk file (name supplied by user), and read the records from a disk file (name again supplied by user).

Create a fixed length string that must check that the length of the string is the required length. The fixed length class should be done as a template with the number of characters as the template argument. From this fixed length string, derive a class to hold digits of a fixed length.

Create component classes as necessary to use together to implement the student record class.

Use either the array template created in an earlier lab to handle the array or you may use the vector class from the STL to handle the array of student record objects.

The maximum number of students will be 25 (it may be less).

View 1 Replies View Related

Visual C++ :: Initialize Constructor In Array Of Objects?

Oct 28, 2012

What the best way to initialize a constructor in an array of objects?

Usually I declare an array of objects like so:

Code:
Car toyota[100];

Is this the only way I know to initialize a constructor of an array:

Code:
for (int i = 0; i < 100; i++)
{
toyota[i] = Car(x, y);
}

Is this the proper way?

View 1 Replies View Related

C++ :: Create Array Of Eight Circle Objects Initialized With Radii

Nov 6, 2013

Im supposed to create an array of eight Circle objects initialized with the radii which is in the program. Also I must use bubble sort to arrange the objects is ascending order.

ERRORS:
'initializing' : cannot convert from 'double' to 'Circle'
'setRadius' : is not a member of 'Circle'
see declaration of 'Circle'
'findArea' : is not a member of 'Circle'
see declaration of 'Circle

#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
class Circle {

[Code] ....

View 1 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved