Ignore:
Timestamp:
Oct 17, 2007, 3:31:20 AM (17 years ago)
Author:
dai_9181
Message:

インターフェイスメソッドはオーバーライド対象外とした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/include/Method.h

    r347 r351  
    5151    }
    5252
     53    virtual bool Override( const UserProc *pUserProc, Prototype::Accessibility accessibility, bool isOverrideModifier ) = 0;
     54
    5355    virtual bool IsAbstract() const = 0;
    54     virtual void Override() = 0;
     56    virtual void SetAbstractMark( bool isAbstractMark ) = 0;
    5557    virtual bool IsVirtual() const = 0;
    5658    virtual bool IsConst() const = 0;
     
    103105    }
    104106
     107    virtual bool Override( const UserProc *pUserProc, Prototype::Accessibility accessibility, bool isOverrideModifier );
     108
    105109    virtual bool IsAbstract() const
    106110    {
    107111        return isAbstract;
    108112    }
    109     virtual void Override()
    110     {
    111         isAbstract = false;
     113    virtual void SetAbstractMark( bool isAbstract )
     114    {
     115        this->isAbstract = isAbstract;
    112116    }
    113117    virtual bool IsVirtual() const
     
    150154
    151155public:
     156
     157    // コンストラクタ
    152158    StaticMethod( UserProc *pUserProc, Prototype::Accessibility accessibility )
    153159        : CMethod( pUserProc, accessibility )
    154160    {
    155161    }
     162
     163    // コピーコンストラクタ
     164    StaticMethod( const StaticMethod &staticMethod );
     165
     166    // デストラクタ
    156167    StaticMethod()
    157168    {
    158169    }
    159170
     171    virtual bool Override( const UserProc *pUserProc, Prototype::Accessibility accessibility, bool isOverrideModifier ){SetError();return false;}
     172
    160173    virtual bool IsAbstract() const{SetError();return false;}
    161     virtual void Override(){SetError();}
     174    virtual void SetAbstractMark( bool isAbstract ){SetError();}
    162175    virtual bool IsVirtual() const{
    163176        return false;
     
    190203
    191204public:
     205    // コンストラクタ
    192206    Methods();
     207
     208    // コピーコンストラクタ
     209    Methods( const Methods &methods );
     210
     211    // デストラクタ
    193212    ~Methods();
    194213
     
    197216    void AddStatic(UserProc *pUserProc,Prototype::Accessibility accessibility);
    198217
    199     // オーバーライド
    200     bool Override( UserProc *pUserProc, Prototype::Accessibility accessibility );
     218    // オーバーライドのための検索
     219    CMethod *FindForOverride( const UserProc *pUserProc );
    201220
    202221    const CMethod *GetMethodPtr( const UserProc *pUserProc ) const;
Note: See TracChangeset for help on using the changeset viewer.