Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

678 Good

About pressgreen

  • Rank
  1. Thank you guys for the help and I do appreciate your being able to look past my wack psuedo-code. but thats all i needed to know. the constructor should be called :)
  2. no i did not paste the code. its just pseudo coded that i made to elaborate. I am sorry i should have made note of that.   this is what i am actually actually asking         2 classes in a names space.   class A and class B   class B has a private: instance of class A.   Assuming that the namespace is being used properly,  Would the constructor of class A be called when an instance is created of class B?
  3. I have edited it so it will be just as basic as it could possibly be. What I am asking is, with the example shown above, Would the constructor of DogSounds be called if an instance of Bark was created?   I mean 2 classes in a names space.   class A and class B   class B has a private: instance of class A.   Assuming that the namespace is being used properly,  Would the constructor of class A be called when an instance is created of class B?
  4. Wait your right im sorry the null should be 0. but this does not change the fact that the constructor is not being called.
  5. I am having a problem with the use of a class member that does not seem to be constructed.   I have a name space called "DogActivity".   In this name space there are two classes " DogSounds and Bark".   In the Bark class I have a private: instance of DogSounds.   Now in the constructor of the DogSounds class there is a private: int variable called NumSounds that is initialized to 0.       The problem is if i create an instance of DogSound in my main program the constructor is called and the NumSounds variable is set to 0 as planned.   But   If i create an instance of Bark in the main program the constructor of DogSounds is never called and NumSounds is never initialized.   here is an example of my namespace with classes. namespace DogActivity { class DogSounds { public: DogSounds() { NumSonds = 0;} private: int NumSounds; }; class Bark{ private: DogSounds dogSounds; }; } Now here is how i would use in main using namespace DogActivity; int main ( int argc, char * argv[] ) { Bark bark; // Do work with bark bellow } But when I create the instance of Bark the privat: dogSounds' variable "NumSounds" is never set to 0. The Constructor of dogSounds is never called, why is this? shouldn't the constructor of dogSounds be called as soon as i create an instance of Bark? what might i be doing wrong here?
  6. Ok thank you guys for your help. It worked finally just as I wrote it. Must have been an issue with the intellisense with in vs because i just deleted the name dog and rewrote it and it worked all of a sudden. no more errors. I am positive i did not spell dog right lol. weird  but thank you guys for your time 
  7. I wrote it just like Dejaimie's example with correct spelling and I still get those errors. And Dejaimie your right about the global scope of the two float variables but I just rewrote it wrong in my example here. they should be private members in the class. they are written correctly in my program.   Could there be a setting with my VS 2010 that is the problem. I mean when i write implementation out in the header file it works fine.
  8. That is in fact how I tired it using the examples i found but i get errors when using that form. 28 bool A::dog::operator==(const dog &other) const 29 { 30 return weight == other.weight && height == other.height; 31 } "a type qualifier is not allowed on a nonmember function"           line 28    "identifier "weight" is undefined"                                                  line 30    "identifier "dog" is undefined"                                                      line 28    "identifier "height" is undefined"                                                   line 30   "name fallowed by '::' must be a class or namespace name"        line 28   any idea why that is?
  9. Ok so I have scoured the deepest recesses of the internet to find an example of how to define the implementation of a member function that is overloading an operator for a class that is with in a namespace.   interface looks like this namespace A { class dog { public: dog(); bool operator == ( const dog & other ) const; }; private: float hieght; float weight; } If I define the implementation with in the header it would look like this which works. but i want it in the Cpp file namespace A { class dog { public: dog(); bool operator == ( const dog & other ) const { return weight == other.weight && hieght == other.hieght; } }; private: float hieght; float weight; } If I wanted to separate the implementation from the header to the cpp file how would I write the implementation of this overloaded function?    just to show how i am writing the other member function's emplimetation in the cpp file here is an example. bool A::dog::bark() {} Thanks  
  10. Well if you don't have a CS degree you need to have had a job in programming for years or a project or a group of projects that show you know what you are doing. It absolutely does not matter what your degree is in, unless it is DIRECTLY transferable as far as skill developed in that degree that are needed, such as degrees in engineering or maths. You will have to take programming classes and/or work hard to learn the programing and make games while your earning that degree. It is not an easy venture by any means if you don't have that CS degree but if your passionate about it and are not afraid of hard work you can do it. Good luck and i hope you one day make and epic game
  11. pressgreen

    Qestion about passing incremented values

    Actually with that said and now understanding the incrementing better, Why are there two more while loops placed at the end of this function? I mean should not the first while loop be filling the empty vector with sorted merged values from the input vectors?   Why are they adding these last two while loops?
  12. pressgreen

    Qestion about passing incremented values

    Thanks guys :)  that was throwing me all off.
  13. Ok, so I completely understand the recursive portion of the Merge Sort algorithm but what I am having problems with is this example of the actual merge portion of the algorithm. In the first conditional statement were one is comparing the first element of the two input vectors I understand, but its the next line were p1 or p2 are being incremented up 1, while specifying which element is to be moved on to the empty vector, I am not understanding. Is it adding element 0 and then ++ to element 1 for the next comparison or is it passing element 1?   I guess my main question is, does the value of a variable get read first and then incremented or is the variables' value incremented and then read?   int newVariable = 0, oldVariableX = 0;   newVariable = oldVariableX++   Does  ( newVariable = 0   or   newVarivable = 1  ) ? void Merge(Vector<int> & vec, Vector<int> & v1, Vector<int> & v2) { int n1 = v1.size(); int n2 = v2.size(); int p1 = 0; int p2 = 0; while (p1 < n1 && p2 < n2) { if (v1[p1] < v2[p2]) { vec.add(v1[p1++]); } else { vec.add(v2[p2++]); } } while (p1 < n1) vec.add(v1[p1++]); while (p2 < n2) vec.add(v2[p2++]); }
  14. pressgreen

    placing constructor in private

    You are completely right. So I guess preference is what compiler error do you want the client to run into, when failing to pass arguments to the constructor?     //with private default constructor Error    1    error C2248: 'Resistor::Resistor' : cannot access private member declared in class 'Resistor'   or   //without default constructor Error    1    error C2512: 'Resistor' : no appropriate default constructor available     
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!