当前位置: 首页>>代码示例>>C++>>正文


C++ Customer::get_generator_id方法代码示例

本文整理汇总了C++中Customer::get_generator_id方法的典型用法代码示例。如果您正苦于以下问题:C++ Customer::get_generator_id方法的具体用法?C++ Customer::get_generator_id怎么用?C++ Customer::get_generator_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Customer的用法示例。


在下文中一共展示了Customer::get_generator_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: while

    static FlightTicket *sell_ticket( InternetSeller *self ) {
        Customer *customer = self->queue.dequeue();
        FlightTicket *ticket;
        bool bought = false;
        int i = 0;

        while ( !bought && i < NUM_OF_AIRLINES ) {
            do {
                Airlines *airline =  *( self->airlines + i );
                ticket = airline->get_first_free_seat( customer->get_source(),
                                                       customer->get_destination() );
                if ( ticket == NULL )
                    // This airline either doesn't provide any flight on this course,
                    // or all of them are already completely sold.
                    break;
#ifdef BUG
                if ( ticket->is_free() ) {
                    ticket->buy( customer->get_id() );
                    customer->set_ticket( ticket );
                    ++self->sold;
                    bought = true;
                }
#else // correct:
                if ( ticket->buy_with_check( customer->get_id() ) ) { // atomic test & set
                    customer->set_ticket( ticket );
                    ++self->sold;
                    bought = true;
                }
#endif
                if ( bought ) {
                    info( "Customer ID = ",
                          customer->get_generator_id(), "/", customer->get_id(),
                          " bought a seat with the number ", ticket->get_position(),
                          " in a flight from ", ticket->get_source(),
                          " to ", ticket->get_destination(),
                          " provided by the airlines ID = ", airline->get_id(), "." );
                }
            } while ( !bought );
            ++i;
        }

        if ( !bought ) {
            assert( ticket == NULL );
            info( "Failed to find a ticket for the customer ID = ",
                  customer->get_generator_id(), "/", customer->get_id(), "." );
        }

        return ticket;
    }
开发者ID:RCambier,项目名称:EmbeddedAndVerification,代码行数:49,代码来源:airlines.cpp


注:本文中的Customer::get_generator_id方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。