1

私は次のポリモーフィック クラスを作成しました。

 #include <iostream>
 #include <fstream>

 using namespace std;

 class SaveAndDraw
 {
    public:
      virtual void draw()=0;
      void saveToFile();
 };
 class MakeShape : public SaveAndDraw
 {
   public:
      virtual void draw();

 };

 void SaveAndDraw::saveToFile();
 {

仮想描画関数を txt ファイルに保存するにはどうすればよいですか?

 } 

 void MakeShape::draw()
 {
    for(int i = 0; i < 10 ; i++)
    {
        for(int j = 0; j < i; j++)
        {
            cout << "*";

        }
        cout << endl;
    }
}

int main()
{
    SaveAndDraw *creation = new MakeShape;
    creation->draw();
    creation->saveToFile();
    delete creation;
    return 0;
}

ドローをファイルに保存する方法がわかりません。私はあなたが言わなければならないファイルを作成することを知っています

fstream fout;
fout.open("test.txt");
fout.close();
4

1 に答える 1

1

draw関数でstd::coutに書き込む代わりに、それを渡しますfout

void MakeShape::draw(std::ostream & out)
 {
    for(int i = 0; i < 10 ; i++)
    {
        for(int j = 0; j < i; j++)
        {
            out << "*";

        }
        out << endl;
    }
}

coutに書き込むために描画が必要な場合は、coutをパラメーターとして渡すだけです。
このように、saveToFile関数はもう必要ありません。

于 2012-10-05T10:56:31.533 に答える