Solved

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

Posted on 2008-10-07
3
302 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
  • 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

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
I have been reconstructing a PHP-based application that has grown into a full blown interface system over the last ten years by a developer that has now gone into business for himself building websites. I am not incredibly fond of writing PHP code o…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

759 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now