ということで試してみました。
コード: 全て選択
class Foo
public
    sub prt()
        print "prt";m_n
    end sub
    sub operator =(byref f as Foo)
        m_n = f.m_n
        print "operator=";m_n
    end sub
	sub Foo(byref f as Foo)
        m_n = f.m_n
        print "copy Foo";m_n
	end sub
	sub Foo()
        m_n = -1
        print "default Foo";m_n
	end sub
	sub Foo(n as long)
        m_n = n
        print "arg Foo";m_n
	end sub
	sub ~Foo()
'        print "~Foo";m_n 'アクセス違反
	end sub
    m_n as long
end class
sub test(obj as Foo)
'    obj.prt() 'アクセス違反
endsub
dim f as Foo(10)
test(f)
結果:
arg Foo 10
arg Foo 3941088
operator= 10デストラクタでもメンバ変数にアクセスするとアクセス違反になります。
objの構築ですが、デフォルトコンストラクタが呼び出されず、
引数をとるコンストラクタが呼び出されます。
しかも引数の値が不定値です。
あと、バグではないですが、実体オブジェクトを値で渡す場合、
現状ではコンストラクタ呼び出しの後operator=が呼ばれるようになってると思いますが、
コピーコンストラクタを1回呼ぶほうが効率がいいと思います。