C++ :: Changing Class Type Of A Vector Element?

Aug 16, 2014

I am programming a 2-D platformer video game. The stages are composed of an array (really a vector) of 16x16 px^2 tiles. I have defined a base class "Tile" and several derived classes, e.g., "Ramp", "Door", etc., which have their own attributes. The idea is that upon entering a room, the program will load all of the necessary tile data for that room into a vector. So, I have a vector that looks like: vector <Tile*> room_tiles, and resize it based on the total number of tiles in the room: room_tiles.resize(Tile_Count). I then want to read in certain info from the data file containing all of the tile information for that room. For example, if the data file says Tile 5 should be a ramp, I want to change the 5th element of the room_tiles vector to the derived ramp class. This is really where I'm having trouble. I've worked with vectors of base and derived classes before, but those were always of indeterminate size and I always used something like: (Vector).push_back(new DerivedClass()) to specify the derived class of that element. The problem is that that method only seems to work if you are appending elements to the end of a vector.

how I can do this?

View 7 Replies


ADVERTISEMENT

C++ :: Changing Array Of Numbers Of Type Char To Type Int?

Apr 27, 2013

I'm having some problems with changing an array of numbers of type char to type int. Every time i try to sum 2 array indexed values it returns some letter or symbol. Also, if i change the type of the array in the functions the compiler gives me an error message. I would also like to add that the problem requires that the first two arrays be char so each individual number gets assigned to a different value.

My current code is:

Code:
#include <iostream>
void input(char a[], char b[], int& size_a, int& size_b);
void convert(char a[], int size);
void reverse(char a[], int size);
void add(char a[], char b[], int c[], int size);
int main()

[Code]....

View 4 Replies View Related

C++ :: Convert Element Of Int Type Of Array To Char Type?

Dec 21, 2013

how to convert an element of int type of an array to char type?

View 2 Replies View Related

C :: Change / Fill List Without Changing Function Type

Feb 13, 2013

I am an IT student currently learning linked list. I have a problem with my code here. After I call addFront() my list doesn't change when I display it. How do I somewhat change/fill my list without changing the function type? I know it works on pointers still messed up with linked list.

Code:

typedef struct node *nodeptr;
struct node{int item;
nodeptr next;};
typedef nodeptr List;
}

[code]....

View 3 Replies View Related

C++ :: How To Insert Element Into A Vector At Particular Index

May 3, 2013

I am storing info in a vector but I want to store certain info at a particular index. I am new to using vectors and am unsure about have to do this. I am aware of the insert method but am confused on how to use it to store at a particular index.

View 1 Replies View Related

C++ :: Pop Element On A Vector Off And Return Its Value At Same Time

Sep 6, 2014

I am trying to pop the element on a vector off and return its value at the same time

vector.push_back();

Unfortunately that code only removes that element from the vector it does not return it

Is the only way to get the element and destroy it is to do this?

vector.back();
vector.pop_back();

View 1 Replies View Related

C++ :: How To Access Element Of Point3f Vector

Aug 4, 2013

How to access an element of the point3f vector. E.g. :

int main() {
vector<Point3f> a;
a.push_back(Point3f(0,0,0);
a.push_back(Point3f(0,0,1);

//print first x,y,z element
cout<<a[0]<<endl;

[Code] ...

But it doesn't work firstly because it says can't use typename i.e. <float>

View 8 Replies View Related

C++ :: How To Remove Element Of A Vector And Returning It

Sep 22, 2014

pop_back just returns void, so I just can't use that?

erase is okay but it doesn't return anything....

Do I use a combination of both?

View 2 Replies View Related

C :: Set Variable Of Type Char Equal To Element In Array Of Characters

Mar 3, 2014

I am trying to set a variable of type char equal to an element in an array of characters. For example:

char data[4] = "x+1";
char element;
element = data[2];

This seems like a logical progression from number arrays, but when I print both element and data[2], I get data[2] as expected, but element gives a different character every time (I assume a garbage value).

View 5 Replies View Related

C++ :: Search A Vector Element With Multiple Strings?

Nov 22, 2013

How could I search a vector element with multiple strings

i.e. vector.at(i) = This is a test

How could I search that to look for the word "test" in that element?

View 7 Replies View Related

C++ :: Using Istringstream To Read Each Word Of Each Element In Vector

Mar 6, 2014

Consider I have a vector of strings and then I use an istringstream to read each word of each element in the vector, why do I nescessarily use an istringstream?

This is the code that does what I just described (I think)..

Code:
for(auto &elem : svec) {
istringstream strm(elem);
while (strm >> word)
//Magic
}

What would be the equivalent of using something else than an istringstream in this scenario and how does the istringstream work?

View 7 Replies View Related

C++ :: Filling Vector From A File - Adding Empty Element At The End

Apr 20, 2014

I'm having a problem filling a vector from a file. Basically, it is adding an empty element at the end. I'm new to Qt and haven't worked with file streams much so how to stop the stream before it adds the extra element.

void gui::get_data() {
mileage.clear();
QFile file(file_label->text() + ".txt");
QTextStream in(& file);
float m;
float g;
QString d;

[Code] ....

But, if I add another element to the vector and write that the file look like this.

//file after adding element
132654 0 02132014
132654 0 02132014
0 0
132998 22 02202014

I have it set to append at the moment so that is why the first line is repeated. I figure the problem is with if(in.atEnd()). I could fix it by deleting the last element right after adding it, but that seems like more of a hack than anything else.

View 3 Replies View Related

C++ :: Sequentially Remove One Element From Vector At A Time With Replacement?

Dec 8, 2014

I have a vector of int,

Code:
vector<int> row_numbers{1,2,3,4,5,6,7,8,9};

I want to sequentially remove one element at a time starting with the first. When the second element is removed, the first element needs to go back in. The sequence would look like

Code:
// original vector, row_numbers.size()=9
row_numbers{1,2,3,4,5,6,7,8,9};
// trimmed vector, row_numbers_trim.size()=8

[Code] .......

I have been working under the assumption that the best method would be to have row_numbers remain untouched and work on a copy. For each step in the sequence, you would create row_numbers_trim as a copy of row_numbers, and then remove an element from row_numbers_trim.

Code:
// position being removed
int counter = 0;
// copy original vector
row_numbers_trim = row_numbers;
// remove the first element from the copy
row_numbers_trim(row_numbers_trim.begin()+counter);

All you would have to do here is to increment counter in a loop. is there a better way?

View 8 Replies View Related

Visual C++ :: Selecting 1 Element From Each Vector Without Duplication Of Any Combination

Jul 15, 2013

I have N vectors which look like this:

[1→m] [m+1→2m] [2m+1→3m] [3m+1→4m] [4m+1→5m]..... [{(N-1)m}+1→Nm]

I want to select 1 element from each vector without duplication of any combinations. Essentially only when all combinations are done with 1st element in first vector ,only then it should move to next element in first vector.

Say i have elements :[123] [456] [789]

my combinations should be like
147
148
149
157
158
159
167
168
169
247....

Also, I cant have any repetitions and only after all combinations of 1 are done only then the loop has to move to next combination ie 247 combination and so on.

I tried NCK (n choose k) command but it gave me random combinations. How should i go about it with using minimal for loops?

View 2 Replies View Related

C++ :: Dynamically Changing Property Of A Class?

May 27, 2013

Working on a console application and I am trying to figure out a way that allows users to enter an object property along with a value. For example

class Box{
public:
int height;
int width;
int length;

[Code] .....

For example if a user inputs "height" for Name and "13" as value I would like to find a way to change ab's height to 13. I want to make this work so that one can add another class and get the same functionality.

I tried looking online and I think maps are a way to do this and I tried doing that but I don't know how to proceed after/what code to write that would allow me to change it.

Note: I can't use if else statements or hardcoding to match the input to member as I want to make this extensible.

View 1 Replies View Related

C# :: Definition Errors After Changing Name Of Class

Jan 31, 2014

I changed the name of my Invoice class to 'Application' and then it generated errors such as follows

Error9'Invoice.Invoice' does not contain a definition for 'Documents' and no extension method 'Documents' accepting a first argument of type 'Invoice.Invoice' could be found (are you missing a using directive or an assembly reference?)c:userskeildocumentsvisual studio 2013projectsinvoiceinvoicewritefile.cs1840Invoice

Error3'Invoice.Invoice' does not contain a definition for 'Run'C:UsersKeilDocumentsVisual Studio 2013ProjectsInvoiceInvoiceProgram.cs1921Invoice

I have added my classes here, lso I have added the sln to this post.

using System;
using System.Collections.Generic;
using System.ComponentModel;

[Code].....

View 5 Replies View Related

C++ :: Create Class Vector As Template And Define Operations On Vector?

May 13, 2013

I need to create a class vector as a template and define operations on vectors.

And this is what I made.

#include<iostream>
using namespace std;
template<class T>

[Code].....

View 2 Replies View Related

C++ :: How To Return Element In Array That Is Inside A Class

Nov 16, 2014

I have a program where I roll a die X number of times and need to print how many times it lands on each side. I tried to create an array in the class aDie that increments each time the corresponding number is rolled but when I go to call and print it in the main my out put is 0. I just picked how many times it landed on the side 4 just to see if it works and it doesn't.

#define ADIE_H
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
class aDie {

[Code] .....

View 3 Replies View Related

C++ :: How To Initialize Static Member Of Class With Template And Type Of Nested Class

Oct 7, 2014

How to initialize a static member of a class with template, which type is related to a nested class?

This code works (without nested class):

#include<iostream>
using namespace std;
struct B{
B(){cout<<"here"<<endl;}
};
template<typename Z>

[Code] ,....

View 1 Replies View Related

C++ :: Declare Template Type Object Inside Template Type Class Definition

Oct 12, 2013

Let me put it into the code snippet:

/**
This class build the singleton design pattern.
Here you have full control over construction and deconstruction of the object.
*/
template<class T>
class Singleton

[Code]....

I am getting error at the assertion points when i call to the class as follows:

osgOpenCL::Context *cxt = osgOpenCL::Singleton<osgOpenCL::Context>::getPtr();

I tried commenting assertion statements and then the debugger just exits at the point where getPtr() is called.

View 7 Replies View Related

C++ :: Iterator To A Vector Of Struct Type?

Nov 18, 2013

I'm working on a program where I have a vector full of <myClassType> structs.

I'm trying to insert items into a vector, searching first through the vector to make sure the value isn't already in the vector before inserting it. The "find" function isn't working properly.

I keep getting C2678 "binary '==': no operator found which takes a left-hand operand of type "myClassType" or there is no conversion errors in Visual Studio 2010.

I know it's something having to do with the find function and my iterators, but I can't, for the life of me, figure out what it is.

I've tried switching to const_iterators, but I get the same error message.

void foo::insert(const myClassType& en) {
vector<myClassType>::iterator it;
vector<myClassType>::iterator it1;
it = find(Table.begin(), Table.end(), en.memberOne);

[Code] .....

View 3 Replies View Related

C++ :: Calling Custom Constructor Of Element In Array Whose Class Has Const Members?

Apr 15, 2013

If I have an array of some class, and that class has const members, is there some way I can call a custom constructor on elements of the array?

I can't seem to reinitialize an element in foos in the example below. A thread on stack overflow mentioned the copy constructor show allow it, but I get "no match for call to '(Foo) (Foo&)'" when I try it.

Code:
class Foo {
public:
Foo();

Foo(int x, int y);

[Code] .....

View 4 Replies View Related

C++ :: Templated Class Function Does Not Have Class Type

Feb 3, 2013

I'm trying to template the return type for this function (component), I've looked around for example code but there doesn't seem to be any exactly like what I want.

Entity.hpp
class Entity {
public:
Entity();
unsigned int id = 0;
Component& addComponent(std::string);

[Code] ....

Error : 'ent1.component<HealthComponent>' does not have class type

View 2 Replies View Related

C++ :: Passing Class As Type In Template Class

Nov 30, 2013

I am trying to pass a class as a type to a template class. This class's constructor needs an argument but I cannot find the correct syntax. Is it possible?

Here is an example of what I described above. I did not compiled it, it is for illustrative purpose only. And of course argument val of the myData constructor would be doing something more useful than simply initializing an int....

template <class T>
class templateClass {
templateClass() {};

[Code]....

My real code would only compile is I add the myData constructor:

myData () {};

and gdb confirmed that it is this constructor that get called, even with dummy(4).

View 4 Replies View Related

C++ :: Adding Int Type Into Vector - Runtime Error

Feb 1, 2013

I am adding int type into vector called "vi" several times like this.

std::vector<int> vi;
void addFunc(int *a, int cnt) {
vi.erase(vi.begin(), vi.end());
vi.clear();
for(int i=0; i<cnt; i++)
vi.push_back(a[i]);
}

and I call the addfunc N times every sec.

And sometimes it has runtime error on vi.push_back line.

(called stack says "_CrtIsValidHeapPointer")

View 5 Replies View Related

C++ :: Compare String Vector Against Enumerated Type?

Jun 26, 2014

How do I compare a string vector against an enumerated type? My code so far is:

void convertToLastFirst(vector<string>&names){
enum NameFormat{FIRST, LAST};
for (size_t i = 0; i < names.size(); i ++){
if (names[i] FIRST){
names[i] = LAST;
}
}
}

View 1 Replies View Related







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