Solved

Passing a struct from 1 C++ Class file to a second C++ Class File

Posted on 2008-10-07
3
309 Views
Last Modified: 2010-04-21
I have this struct

typedef struct                                          // Create A Structure For Star
{
      int r, g, b;                                    // Stars Color
      GLfloat dist;                                    // Stars Distance From Center
      GLfloat angle;                                    // Stars Current Angle
}
stars;                                                // Structures Name Is Stars
stars star[num];                                    // Make 'star' Array Of 'num' Using Info From The Structure 'stars'

which is is the main.cpp file but declared before methods open, and it is altered in the main.cpp, and i want it passed through this line

OnTimer(hDC, texture, loop, num, zoom, tilt, spin); which calls the graphics.cpp file and runs the Ontimer Method,

i also have this declared at the top of the main.cpp file

void OnTimer(HDC hDC, GLuint texture[], GLuint loop, int num, GLfloat zoom, GLfloat tilt, GLfloat spin);                           // Draw OpenGL Scene

as you can see its a OpenGL program which i am trying to create and i just want to pass the struct of veriables from the main.cpp to the graphics.cpp so i can reuse the main.cpp and all i need to do is alter the graphics.cpp file to get a different output of the screen but i cant figure out how to pass the struct from 1 file class t oa second file class
0
Comment
Question by:jjthorne
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 53

Accepted Solution

by:
Infinity08 earned 500 total points
ID: 22657631
First of all, you'll need to place the definition of the struct in a header file (.h file) :

        typedef struct                                          // Create A Structure For Star
        {
              int r, g, b;                                    // Stars Color
              GLfloat dist;                                    // Stars Distance From Center
              GLfloat angle;                                    // Stars Current Angle
        }
        stars;                                                // Structures Name Is Stars

This header file can then be included in every .cpp file that needs to use the struct.

Second, you'll want to define the global array of these structs in one of the .cpp files :

        stars star[num];                                    // Make 'star' Array Of 'num' Using Info From The Structure 'stars'

If this global array needs to be available in another .cpp file, then you'll need to add this to that other .cpp file :

        extern stars star[num];

which makes the array available for use in that other .cpp file.
0
 

Author Closing Comment

by:jjthorne
ID: 31503755
ah right yeah, im just getting back into c++, i have been programming in c# and java for the past 4 years, and i decided last weeks to try and get back into C++ and openGL, cheers for the help.
0
 
LVL 53

Expert Comment

by:Infinity08
ID: 22657716
Glad to be of assistance. Do not hesitate to ask for clarifications if there are further problems/questions about this.
0

Featured Post

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question