首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-08-16 
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";
        }
    }
};

热点排行