C++ :: Dynamic Char Array For Class Constructor

Nov 14, 2013

I'm writing a class that has two constructors. However, I can't get them to work quite right. One constructor has a parameter of an int (with a default value of 0) and the other has a parameter of a C-style string.

First of all, are these function prototypes correct for the constructors?

MyInt(int n = 0);// first constructor, int param, default value 0
MyInt(const char * c);// second constructor, c-style string param

Both constructors work fine in some cases but don't work in all cases. Here are some potential calls to these functions that are supposed to work:

// These two work fine
MyInt x(12345),
y("9876543210123456789"),
// The array assignment doesn't work when the value is negative
// I'm not allowing negative numbers, but I want to create the object and assign the array to 0
r1(-1000),

[Code] .....

Here's the private data from the class (from the header file):

private:
int currentSize,
maxSize;
char* digits;// Pointer to an array of digits

// Increase the size of digits array by 5
void Grow ();

View 2 Replies


ADVERTISEMENT

C++ :: Faulty Use Of Constructor Of Dynamic Array

Aug 28, 2014

One can initialize a dynamically created array in the following way:

unsigned int * vec;
// ... do something to vec
double * a = (double *) malloc(4*sizeof(double));
a = (double[3]){(double[3]){0.0,10.0,20.0}[vec[0]],

[Code] ....

While there is no compilation error for the first assignment, the memory a is pointing to seems to change, surprisingly to me. This seems to solve the problem though:

memcpy(a, (double[3]){(double[3]){0.0,10.0,20.0}[vec[0]],
(double[3]){1.0,2.0,3.0}[vec[1]],
(double[6]){-2.0,-1.0,0.0,1.0,2.0,3.0}[vec[2]]
},
3*sizeof(double)); // NO C COMPILER ERROR

What does the first assignment do and why does it cause memory to change later in the program?

View 2 Replies View Related

C++ :: Output Increases With Dynamic Char Array Size?

Jul 22, 2012

I've been in a strange problem. Im in need to have a dynamic character size, but that increases the outputsize of my program by almost 50kb. (while the program was 11kb previously).

Example:

Char One[7000]; (11kb output)

int Z = 7000;
Char Two[Z];

View 7 Replies View Related

C++ :: Dynamic Memory (array Of Char) - Delete All White Spaces In Text File

Feb 8, 2014

General Purpose: Delete all "white spaces" in text file, until the read-in char is _not_ a whitespace (mark as start of text file).

Problem: Cannot seem to shift char's over properly. (I think my problem is the inner loop - however other code may lead to this problem - I do not know)

Code:

#include <fstream>
#include <iostream>
using namespace std;

bool trimWhiteSpace(fstream &file, char * charMemoryBlock) {
if (!file.is_open()) {

[Code] ....

View 3 Replies View Related

C++ :: Derived Class Constructor Using Base Class Constructor?

Jan 1, 2013

Is this example correct? This example from a book

Constructor of the Base Class
Person::Person(char* n="", char* nat="U.S.A", int s=1)
{
name = n;
nationality = nat;
sex = s;
}

Constructor of the Derived Class (inherited from the base class)

Student(char* n, int s=0, char* i=""):
Person(n, s)

Why the initialized list of the base class constructor doesn't match the initialized list of the derived class constructor? I know this book is a little bit old, I'm not sure if this wrong in VC++ 2010?

View 5 Replies View Related

C++ :: How To Copy From A Dynamic Array Initialized In A Class

Apr 3, 2013

How do I copy from a dynamic array initialized in a class but with a different memory address. For example if my array is a dynamic array initialized in a class...

Code:
const int CAPACITY=5;
class Array{
public:
Array();//constructor

[Code] .....

How would i copy this array to a another array but have a different memory address so when i deallocate array a my copy array also isn't deallocated.

View 1 Replies View Related

C++ :: How To Change 2 Dynamic Array Int Vector Class

Oct 29, 2014

// dynamic memory for 2D char array
char **board = (char**) calloc(column, sizeof(char*));
for(int i=0; i<column; i++)
board[i] = (char*) calloc(row, sizeof(char));
//for char 255 row and colum
char temp[255];
inputFile.getline(temp,255);

[Code]...

so i want to change into vector class like Vector<board>row;

View 8 Replies View Related

C++ :: Custom Dynamic Array Class And Allocator

May 10, 2014

I attempted to create a dynamic array class for use in my engine (due to problems regarding a dll-interface with the standard library), so I tried at making a standard-compatible allocator template class first. After I "finished" that, I went on to work on the dynamic array class itself.So I finish the dynamic array class, and test it with the standard allocator. It works perfectly, but when I test it with my custom allocator class, it fails terribly.

To make sure it wasn't my DynamicArray class that was causing issues, I tried using the custom allocator on the std::vector class template, and it didn't work either. IMy DynamicArray class code:

// Represents a dynamic array, similar to the standard library's "vector" class.
template<typename T, typename A>
class DynamicArray
{
public:
DynamicArray() :
data(nullptr),
elements(0),
capacity(0)

[code].....

The "Request" and "Free" functions are my engine's equivalent of malloc and free (or new and delete). I allocate a large buffer (16 mb), and through those functions I distribute the memory to where it's needed.

View 9 Replies View Related

C++ :: Smart Array Class - Constructor Throws Wrong Exception

Jan 24, 2014

Writing a smart array class for my C++ class. I'm running into a problem where the constructor apparently throws the wrong exception. Compiled on G++ with C++11 extensions enabled.

Code:
// headers
#include <iostream>
#include <utility>
#include <cctype>
// stuff we need from namespace std
using std::cout;
using std::cin;

[Code] .....

When I try to check the error-handling code, when I enter a size less then two, Array's ctor throws InvalidSize, and gets caught, all good. But when I enter a letter, the ctor also seems to throw InvalidSize!

View 14 Replies View Related

C++ :: Create Dynamic Pointer Based Array Of Class

Nov 29, 2014

I have a class called Book and I am trying to create a dynamic pointer based array of the class. When I try to run the program I keep getting the error: pointer being freed was not allocated at the line of code that says "delete [] A;". I am using Xcode to run the program.

Book *changeArraySize(Book *A, int &size, double factor) {
int i;
int newsize = size*factor;
Book *A2 = new Book[newsize];

[Code] ....

View 7 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++ :: Can One Constructor Of A Class Call Another Constructor Of The Same Class

Mar 19, 2015

to initialize this object? Why C++ FAQ says no? Here is my code,

Code:
class A
{
public:
A(int x, char c);
A(int x);

[code] ....

I don't have any trouble to call the constructor A(int x, char c) from another constructor A(int x).

View 10 Replies View Related

C++ :: Class Which Loads Bitmap Image Into One Dimension Char Array

Aug 27, 2013

I am writing a class which loads a bitmap image into a one dimension char* array.

This class has methods to allow for resampling and cropping the image before saving the bitmap image. It works perfectly for all images in which the width is divisible by 4. However when the width is not divisible by 4 the resulting bitmap is all mixed up.

I have spent much of the day googling this problem but to no avail. I know it is a problem with making sure the scanlines are DWORD aligned, and I believe I have done that correctly. I suspect that the problem is that I need to take the padding into account during the crop for loops but am lost to how to do this.

BTW: Coding on Linux using GCC

The following code is a cut down version from my bitmap class. I have removed methods which are not needed to make reading a little easier.

#include "BMP.h"
// FIXME (nikki#1#): Portrait bug on images of specific sizes
// TODO (nikki#1#): Memory leak checks
// THIS METHOD WRITES A BITMAP FILE FROM THE CHAR ARRAY .
bool BMP::saveBMP(string fileName, string *err) {
FILE *filePtr;

[Code]...

View 2 Replies View Related

C++ :: Initializing Inner-objects Of Base Class From Driven-class Constructor

Jan 6, 2015

Let's say I have a Car object , and it contains inner Engine object.

Code:
struct Car{
Engine mEngine;
};

In order to initialize the engine object NOT by the default constructor (if it has any) , we use initialization semantics:

Code:
Car::Car:
mEngin(arg1,arg2,...)
{
other stuff here
}

Now it gets tricky: Let's say a Car objects has 10 inner objects, each object has about 5 variables in it . Car is a base class for , e.g. , Toyota class. you don't want the Car class to have a constructor with 50 arguments. Can the inner objects of Car be initialized from the base class , e.g. Toyota?

Code:
class Toyota:
Car(...),
mEngine(...),
mGear(..)
{
...
};

The other options are:
1) like said , create a Car constructor which gets 50 arguments, then initialize Car as whole from Toyota - the code becomes less readable and less intuitive
2) Car constructor which get built-objects as arguments and initialize the inner objects with copy constructor . the code gets more readable but then you create many excess objects .

View 5 Replies View Related

C++ ::  Initializing Const Char Member Variable In Constructor?

Jan 23, 2015

I have a class that defines a window (a popup dialog of sorts), and I want the name of that window to be constant. The only problem is that the name of the popup needs to match the title of the parent window, and I get the name of the parent in the constructor. So how do I go about defining this member variable to be constant and initializing it with a value in the constructor?

I want to do something like this, but I know this isn't allowed:

/* class.h */
class foo {
public:
foo(*parentWindowPtr);

[Code] .....

I should mention that yes the name of the parent window is const char *, and I would like to keep it this way.

View 4 Replies View Related

C++ :: Invoking Base Class Constructor From Derived Class?

May 15, 2013

I understand it is done like this

// Calling the base class constructor
explicit CCandyBox(double lv, double wv, double hv, const char* str="Candy"): CBox(lv, wv, hv)
{
...
}

But how does the compiler know that you are initializing the base "part" of the object?

Or is this the entire reason initialization lists exist, to separate this confusion?

View 4 Replies View Related

C++ :: Fill Value Of Dynamic Array Of Dynamic Arrays?

Jan 4, 2013

I'm writing a program in which I have to use a matrix to represent a file in code. because it's a file, the size of the matrix is undefined, and therefore the matrix has to be dynamic. I found out that my compiler doesn't like dynamic multidimensional arrays, so I was thinking of this matrix as a dynamic (monodimensional) array of other dynamic (monodimensional) arrays. My program (and thus this example) uses unsigned chars.

unsigned char variable=something;
unsigned char**matrix=new unsigned char*[lenghtOfMainArray];
for(int rowNumber=0;rowNumber<lenghtOfArray;rowNumber++)
{

[Code].....

View 2 Replies View Related

C++ :: Using Constructor Within Constructor In Same Class

Feb 28, 2012

I am trying to use constructor within constructor in the same class. Is that possible. I have tried something and it shows me a error message:

error: type "mainClass" is not a direct base of "glavna"

This is the program I tried:

Code:
class mainClass {
private:
int x,y;

Code] ......

View 6 Replies View Related

C++ :: Read Text File Char By Char By Using Vector Class

Oct 29, 2014

Code:

cout<<"Enter Filename for input e.g(inp1.txt .... inp10.txt):"<<flush;
cin>>filename;
ifstream inpfile;
inpfile.open(filename,ios::in);
if(inpfile.is_open())

[Code] .....

View 8 Replies View Related

C++ :: Creating One Class Object In Constructor Of Another Class

Sep 20, 2013

Suppose I have two classes A and B so how to access object of class A in constructor of B's class as a parameter.

View 6 Replies View Related

C++ :: Class With Enum And Constructor

May 29, 2013

I really confused with constructor (default constructor and constructor with parameters)

I coded this problem

and I worked almost, but I stock in constructor

Code:
class Tier {
public:
enum TIER_MAKE

[Code] ....

This is tier class and I have to finish constructor in class car (for simple, I skip detail code) -red things are the parts from class Tier

Code: Car()
: make(NULL), passengers(0), fuelcap(0.0), efficiency(0.0), tier(Tier::nexen)
{ }

[Code] ....

And someone said default constructor part has to be this

Code:
car( Tier::TIER_MAKE p_tiermaker = Tier::nexen )

//after i skip
but default constructor should be no parameter...? isn't it?

View 1 Replies View Related

C++ :: Class Course / Constructor Errors

Mar 22, 2014

# include <iostream>
# include <cstring>
#include <iomanip>
#include <cmath>
using namespace std;
class Course
// Creating the class Course

[Code] ....

Errors: Warning1warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

[Code] .....

I have to create an Array of type Course and then fill its member dats using various member functions. Those errors are caused by some Constructor defect, which I dont really know what it is.

View 2 Replies View Related

C++ ::  Can Use Class Constructor To Run Code In CPP By Itself?

Jan 13, 2015

I recently designed a struct like this

// MyMap.h
typedef std::map<std::string, std::function<void ()>> MyMap;
extern MyMap g_mymap;
// MyMap.cpp
My Map g_mymap;

[Code] ....

It looks useful to implement strategy pattern because it makes a fully separate code block. So I can add a function to the map simply by compiling a source file. It's very simple. I don't need to edit another file.

But when I use it for my existing project, It makes some linking and runtime errors.(vs 2012). I can't recognize exactly why because it is a huge project. Anyway, I have a question that - Is this a safe use of class constructor?

I know that there is no fixed order of running, but in this case I think it doesn't matter. because they are independent. But it is not a common pattern, so I can't decide to use it.

View 3 Replies View Related

C/C++ :: Add Copy Constructor To Class?

Nov 15, 2012

This is my class there is a problem with my copy constructor .. is that correct ??

struct Node {
    Type info;
    Node<Type> *next;
};  
template <class Type>
class Queue

[Code] ....

View 1 Replies View Related

C++ :: How To Redefine A Constructor From Parent Class

Jul 14, 2014

Firstly I don't really know if this is possible.

This is my Class Diagram: [URL]...

github: [URL]...

I want to redefine the price object of the Book Class. However price is defined at Products Class.

I want the price value change according to the marker value, which is a Book attribute.

If the marker is blue, price gets a value of 10 (e.g.), if it has another value, price is equal to 20.

View 10 Replies View Related

C++ :: Declare Class Member Outside Of Constructor?

Jun 27, 2013

Basically, I need to set a variable outside of the constructor and make it accessible to the entire class.

It would need to work something like this:

#include <iostream>
#include <string>
template <typename MT> class CallbackFunction
{

[Code].....

View 5 Replies View Related







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