C++有没有提供一种在创建一个类A对象的时候必须有另外一个类B的对象存在的机制?如果没有提供的话,如果自己实现?
在类A的构造函数中加个指向类B的对象的指针或者引用?这样高效么?有没有其他的比较好的方法?
[解决办法]
全局flag
[解决办法]
class B
{
public :
B()
{
static bool fate = ( _hasObject = true, 0 );
( void )fate;
}
static bool isExist()
{
return _hasObject;
}
private :
static bool _hasObject;
};
bool B::_hasObject = false;
class A
{
public :
A()
{
if( !B::isExist() )
{
std::cerr << std::endl << "Error! B object does not exist while A object is constructing!program aborts!";
exit( EXIT_FAILURE );
}
else
{
std::cout << std::endl << "B objcet exist!program continues";
}
}
};