C++有没有提供一种在创造一个类A对象的时候必须有另外一个类B的对象存在的机制?如果没有提供的话,如果自己实现

C++有没有提供一种在创建一个类A对象的时候必须有另外一个类B的对象存在的机制?如果没有提供的话,如果自己

C++有没有提供一种在创建一个类A对象的时候必须有另外一个类B的对象存在的机制?如果没有提供的话,如果自己实现?
在类A的构造函数中加个指向类B的对象的指针或者引用?这样高效么?有没有其他的比较好的方法?
[解决办法]
全局flag
[解决办法]

引用:
在类A的构造函数中加个指向类B的对象的指针或者引用?这样高效么?有没有其他的比较好的方法?



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";
        }
    }
};