ファイルのオープン,クローズについて意見をください☆

int main(){

  class Log log();

  //ループ
  for(int i=0;i<100;i++){
    /*
    処理
    */
    log.saveLog(i);
   }

  ~log();
  return 0;
}


案1
コンストラクターでfopen(),ディストラクターでfclose

案2
saveLog()で毎回fopen(),fclose

どちらでもいい気がするのですが,気になります!!
クラスの設計としてはどちらが優秀でしょうか?