Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Widgets - General questions or Mixed problems » Access to parent class
Access to parent class [message #52847] Wed, 11 December 2019 10:31 Go to previous message
koldo is currently offline  koldo
Messages: 3358
Registered: August 2008
Senior Veteran
Sometimes it is necessary for a child to get access to some data from a parent class. Specially in a multiple TopWindow project, parent pointer cannot be saved in a static location, as there are some instances of it.

A solution could be to give as argument a pointer to the parent, and spread it through all children until the one that needs it.

However I wonder if this could be a finer solution:
template <class T>
T *GetDefinedParent(Ctrl *ths) {
	T *main;
	while (ths->GetParent() != nullptr) {
		ths = ths->GetParent();
		if ((main = dynamic_cast<T*>(ths)) != nullptr)
			return main;
	}
	return nullptr;
}

And used like this from a children:
MyParentClass *parent = GetDefinedParent<MyParentClass>(this);
ASSERT(class);

int neededParameter = ~parent->importantParameter;

What do you think?


Best regards
IƱaki

[Updated on: Wed, 11 December 2019 10:32]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Previous Topic: GLDrawDemo NOGTK doesn't work
Next Topic: [SOLVED] Dual GlCtrl in one frame ?
Goto Forum:
  


Current Time: Mon Apr 29 01:44:16 CEST 2024

Total time taken to generate the page: 4.94977 seconds