自分がnewで作られたクラスだとして、自分の関数内で、自分をdeleteしたらどのようになりますか?

例えば以下クラス内関数
void A::DeleteMe(){
 delete this;
 func1(int &a);←aを弄る処理(クラス内関数、引数は外部のもの)
 func2();←自分のクラス内の変数を弄る処理(クラス内関数)
 func3();←外部の関数
}

疑問点1、delete this以降の関数は実行されるのか、そもそもこれは問題ないのか
疑問点2、デストラクタはどこで呼び出されるのか
疑問点3、func1,2,3のどれが駄目な処理で、どれが問題無い処理なのか