int main(int argc, char const *argv[])
{
	/* code */
	Derived cDerived;
	Base *rBase = &cDerived;
	cout << "rBase is a " << rBase->GetName() <<"\n";
	return 0;
}
Exemple #2
0
Controls::Base* Base::FindChildByName( const Gwen::String& name, bool bRecursive )
{
	Base::List::iterator iter;
	for (iter = Children.begin(); iter != Children.end(); ++iter)
	{
		Base* pChild = *iter;
		if ( !pChild->GetName().empty() && pChild->GetName() == name )
			return pChild;

		if ( bRecursive )
		{
			Controls::Base* pSubChild = pChild->FindChildByName( name, true );

			if ( pSubChild )
				return pSubChild;
		}
	}

	return NULL;
}
Exemple #3
0
int Base::GetNamedChildren( Gwen::ControlList& list, const Gwen::String& strName, bool bDeep )
{
	int iFound = 0;

	Base::List::iterator iter;
	for ( iter = Children.begin(); iter != Children.end(); ++iter )
	{
		Base* pChild = *iter;
		if ( !pChild->GetName().empty() && pChild->GetName() == strName )
		{
			list.Add( pChild );
			iFound++;
		}

		if ( !bDeep ) continue;

		iFound += pChild->GetNamedChildren( list, strName, bDeep );
	}

	return iFound;
}