Properties using

Uwar uwar at o2.pl
Mon Mar 31 13:51:53 PDT 2008


Error: Access Violation
When I tring run program below. What is wrong?

//  class CPart
//______________________________________________________
class CPart{
	
	//	utilities
	//__________________________________________________
    class CRing{
		//	data memebers
		//______________________________________________
		private{
			float m_sDia;
			float m_bDia;
		}
		
		//  properties
		//______________________________________________
        public{
            //	property SmallerDiameter
            //__________________________________________
            float SmallerDiameter(float o_sDia){ return m_sDia = o_sDia; }
            float SmallerDiameter(			  ){ return m_sDia		   ; }			
            
            //	property BiggerDiameter
            //__________________________________________
            float BiggerDiameter(float o_bDia){ return m_bDia = o_bDia; }
            float BiggerDiameter(			 ){ return m_bDia		  ; }
        }
	}
	
	//	data members
	//__________________________________________________
	private{
		float m_length;
		CRing m_ringFirst;
		CRing m_ringSecond;
	}

    //  properties
    //__________________________________________________
    public{
        //  property Length
        //______________________________________________
        float Length(float o_length){ return m_length = o_length; }
        float Length(              ){ return m_length           ; }
        
        //  property RingFirst
        //______________________________________________
        CRing RingFirst(){ return m_ringFirst; }
            
        //  property RingSecond
        //______________________________________________
        CRing RingSecond(){ return m_ringSecond; }
    }
}

void 
main(char[][] args){
    CPart part_1;
    with (part_1 = new CPart){
        auto A = RingFirst.SmallerDiameter;
    }
}


More information about the Digitalmars-d-learn mailing list