Class File

32 と 24 の GCM は 8 です
32 と 24 の LCM は 96 です

C:\DATA\StoreC\01Console\06Con_Class\Debug\ConsoleApplication1.exe (プロセス 8580) は、コード 0 を伴って終了しました。
デバッグの停止時にコンソールを自動的に閉じるには、
[ツール]->[オプション]->[デバッグ]->[デバッグの停止時に自動的にコンソ ールを閉じる] を有効にします。
このウィンドウを閉じるには任意のキーを押してください . . .
コンソールモードで GCM.h GCM.cpp LCM.h を組み込みます。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. Visual Studio を起動して新規作成から [C++ コンソールアプリ] のプロジェクトを作成します。
    プロジェクトの作成は Console Hello を参照して下さい。
  2. CGM class のファイルから作成します。
    GCM.h を utf-8 でタイプして下さい。
    //★ GCM class  Header    前田 稔
    #pragma once
    #include <stdio.h>
    
    namespace App1
    {
        class GCM
        {
          public:
            int gcm(int v1, int v2);
          private:
            int     w1,w2;
        };
    }
    
  3. GCM.cpp のソースコードです。
    //★ GCM class  Program    前田 稔
    #include "GCM.h"
    using namespace App1;
    
    int GCM::gcm(int v1, int v2)
    {
        w1 = v1;
        w2 = v2;
        while(w1 != w2)
        {   if (w1 > w2)    w1-= w2;
            else            w2-= w1;
        }
        return w1;
    }
    
  4. LCM.h のソースコードです。
    LCM の計算に GCM を使うので GCM を継承します。
    関数の中身は簡単なので、プログラムファイルを省略して Header File の中でコーディングしています。
    //★ LCM class  Header    前田 稔
    #pragma once
    #include <stdio.h>
    #include "gcm.h"
    
    namespace App1
    {
        class LCM : public GCM
        {
          public:
              int lcm(int v1, int v2) { return(v1 * v2 / gcm(v1, v2)); }
        };
    }
    
  5. GCM.h, GCM.cpp, LCM.h をプロジェクトのフォルダーに格納して、メニューの[プロジェクト][既存項目の追加]から加えます。
    GCM, LCM の説明は GCM LCM を参照して下さい。
  6. ConsoleApplication1.cpp のソースコードです。
    //★ Class Sample    前田 稔
    #include <stdio.h>
    #include "GCM.h"
    #include "LCM.h"
    using namespace App1;
    
    int main()
    {
        int     x = 32;
        int     y = 24;
        GCM     *gcmcls;
        LCM     *lcmcls;
    
        gcmcls = new GCM();
        lcmcls = new LCM();
        printf("%d と %d の GCM は %d です\n", x,y,gcmcls->gcm(x,y));
        printf("%d と %d の LCM は %d です\n", x,y,lcmcls->lcm(x,y));
        delete gcmcls;
        delete lcmcls;
        return 0;
    }
    
  7. 実行すると 32 と 24 の最大公約数(8)と最小公倍数(96)が印字されます。
    コンソールモードのプログラムは、自動的に「スタート」メニューに登録されることは無いようです。

超初心者のプログラム入門(C/C++)