As it turns out, I cannot use method (1) when I try to initialize a private instance inside another class. But I can use it in the main() code. I hope the code below will explain what I mean. Why only method (2) will work inside another class? Or is there another fundamental mistake I am making?
(BTW: I used CodeBlocks 13.12 with GNU GCC compiler for this example)
#include <iostream>
using namespace std;
class CLASS1{
Code: #include<iostream> #include<conio.h> #include<string.h> #include<ostream> #include<fstream> #include<iomanip> using namespace std; class MathProblem {
[Code] ...
So my program is quite simple, have the user answer the answer to a question, and then compare with the correct answer. I needed to implement an inheritance of MathProblem in my second class aswell.
The program runs as I intend but I wish to have the data forwarded to a text file. After that I must read back to the command prompt the text file contents. It's fairly easy for simple statements but I don't understand how to forward all my data from my classes.
i have this rather large class, which (in a way) somehow resembles a custom dialog control). This control is supposed to display data, which it does just fine. To do so, it maintains a
byte settings[10];
array, which holds information on how to display the data.
There are multiple ways to represent this custom set of data.In order to remain flexible in representing it, i thought of implementing some sort of DisplayProvider, which can be registered to the base class and provides that settings byte array.
Preferably, i would now have a set of static const instances of this provider.Using a struct would work nicely here:
The problem: The DisplayProvider would have to do some pre-processing, before handing over control to the base class, which then does the main work.I would end up with something like this:
PHP Code:
class DispalyProvider { baseclass* owner; int settings[10]; void PreProcessing(...);//ends up calling the owner.Processing(...) function };
The main thing here is, that i dont really see a way to create a stock of default "static const DisplayProvder = {...}"s, as i could when using a struct.
Using SFML, I had a Board class which held multiple vectors of all of my object types in the game, and then it also held a vector of pointers to the memory addresses of these object instances, like this
class Board{ //... std::vector<AbstractObject*> GetAllLevelObjects(){ return allLevelObjects; } //so these are used to hold my object instances for each level
[Code]....
When looping through this vector and drawing the sprites of the objects, I get the runtime error 0xC0000005: Access violation reading location 0x00277000. I solved this error by storing the vector of pointers in the class that holds my Board instance, but I'm wondering why only this solution worked? Why couldn't I just have my vector of pointers in the same class that the instances of those objects were in?
I am trying to do some exercises but am struggling at the moment. The first task was to create a class (Planet), then allow the user to edit their entry or view it.
The second one is to create class instances from a text file. The file contains a new planet on each line in the form: 'id x y z' where x/y/z are its coordinates. As the file can have more then one lines, it has to dynamically create an undefined amount of class instances.
To do this I used 'new' and it works ok - it prints each one out to the screen as you go so you can see it working. However... I'm trying to get into good habits here and am encapsulating the class which is where I am getting stuck. I can read from the class but cannot put the values from the file into the class.. ..using the member functions I have created anyway.
My code so far is:
#include <iostream> #include <fstream> #include <string> using namespace std; class Planet { private: int id=0; float x_coord=0.0, y_coord=0.0, z_coord=0.0; public: int GetID(){return id;}
[code]....
If I change the SetID etc to just p->id, p->x_coord etc it works fine. But I'd rather find a way to do it that keeps the encapsulation. Using p->z_coord etc requires that you change the class variables from private to public.
The question I have been given is this:
Define and implement a function, generate planet, that takes a stream argument that has already been connected to a file (i.e. the argument is istream& fin). The function must create a new instance of planet using new and read its details from the next line in the file.Each line of the file is in the format id x y z.The function must return the newly created planet.
Also, how would you go about 'viewing' one specific class instance once they've been created? So say the file had 5 lines, line three was '4 6 2 6'. How would I go about viewing that planet afterwards? I don't think thats required but... I'm just wondering Although I'm also wondering, are we actually creating a new class instance for each line here? Or just destroying the previous one?
I can't get my code to compile, i need to read in lines from a file and store them in variables. Then i have to construct instances of my class for how many lines there are in the file and take those variables into them.
I'm getting this error :
"a2.cpp:40: error: cannot convert `Employee' to `Employee*' in assignment"
#include<iostream> #include<string> #include<fstream> void displayInfo(); using namespace std; class Employee{
In my case, it involves making a wrapper class of sorts for the std::set. I'm wanting to go all-out on it and make some "fashionable" constructors for it, one of which being similar to C-style array initializations.
// Some example usage of what I'm wanting. Set<long> num_set = { 10, 20, 30, 40, 50 }; Set<std::string> str_set = { "Hello", "I", "am", "a", "set." };
I almost never overload operators when I work--if it can be done with a function, it's done with a function--but I realize that doesn't make the best user-experience when other people come across your code, so that's what I'm trying to improve.
It looks like I'm going to be needing to overload the = operator, no big deal. But the array segment is confusing, since {} is not an overloadable operator in C++.
"You cannot initialize the static data member in the class definition — that’s simply a blueprint for an object and initializing values for members are not allowed. You don’t want to initialize it in a constructor, because you want to increment it every time the constructor is called so the count of the number of objects created is accumulated."
Why don't you want to initialize it in a constructor?
Edit: Because every time it is called it will set it back to 0 or whatever the initializing value.
So I have a small program which is supposed to write and read multiple objects from a file, but for some reason it doesn't write the information when I use "fstream" to create the object from the fstream class, but it does when I use "ofstream". Also, it doesn't read the information from the file no matter if I use "fstream" or "ifstream". I watched a video where this exact code worked just fine, but it just won't work when I run it. I'm using Dev C++ 4.9.9.2, I don't know if that has anything to do with it, I also tried it with Code::Blocks, didn't work either.
Here's the code.
#include <iostream> #include <fstream> using namespace std; class Person
So I am wondering how I would go about calling a function for all instances of an object. I tried googling it, but all I saw was solutions like making an array of pointers to the objects. What if I don't know how many objects there will be? Isn't there an easier way?
template <typename T> struct avl_tree { T data; int balance; struct avl_tree <T> *Link[2]; static int (*comp)(T, T); };
In main, I have a function like so: int compare(int a, int b) { return ( a - b ); }
Now how do I assign the function pointer in my avl_tree class to the compare function?
I did this: int (avl_tree<int>::*comp)(int, int) = compare;
But I got the compiler error: Tree_Test.cc: In function ‘int main()’: Tree_Test.cc:27:42: error: cannot convert ‘int (*)(int, int)’ to ‘int (avl_tree<int>::*)(int, int)’ in initialization
Understanding Fork() calls. I have to write a C program in UNIX machine, and make two Fork Calls Inside it and have these two instances run every five minutes all round the clock. How to achieve this.
typedef client...I would like to have these fields filled with this function below and stored in an array... Basically Multiple users and this is my function for it, if I can get it to work proper -.- .... I don't get syntax errors but I do get warnings
Code:
void getct(client *cl, int *pclientCounter) { char input[buff]; char *pinput = NULL; int typef = 0; int lengthf = 0; }
I am getting an error with my while loop(feels dumb) when running this code that I am allowed to modify. It is to remove all instances of an element within the list.
I am trying to compile a c program for sudoku. I have declare const instances as global variables, but when i try to compile the code it says that my declarations are not constant, here is some of the code.
#include <stdio.h> #include <assert.h>
const int GRIDSIZE = 3; const int GRID_SQUARED = GRIDSIZE * GRIDSIZE; //this line const int ALL_VALUES = (1<<GRID_SQUARED)-1; //and this give//the error int board [GRID_SQUARED][GRID_SQUARED];
so i have this problem with my code ( not running)i want to read ( 2 double numbers x,y) and ( one integer z) then calculate reminder of x and y ( after they both converted to integer) and the formula : x^2 + y^2 + z^2and : x^z + y^z
here is what i came up with :
Code: // compute.c
#include<stdio.h> #include<math.h> int main(void) {
[Code]....
it also says in q : be sure to test the user input to make sure x,y,z are positive . any negative or zero should not be accepted and must print error msg ==> do i have to have an if statement here ? or the while loop is enough ?
I'm writing a version of the classic Snake game. However, my board is not printing correctly. The right hand border is in the incorrect location. Also, when I randomly generate where the food ('X') is located, it only generates on the edges of the boundaries.
#include <iostream> #include <cstdlib> using namespace std; const int ROWS = 21; constint COLS = 61;