無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

クラス

クラスを定義してみます。

  • クラス
    • 「class <クラス名>{ .. };」の形式で書きます。
    • 末尾に";"が必要なので注意。
  • コンストラクタ
  • デストラクタ
    • クラス名に"~"をつけたメソッドがデストラクタです。
  • フィールド(インスタンス変数)
    • classブロックの中に宣言します。
  • メソッド(インスタンス関数)
    • クラスブロック内に書きます。
    • 実装もあわせて書く方法と、プロトタイプ宣言のみ行っておき実装は後から書く方法があります。
  • アクセス指定
    • 「public:」と書くと、それ以下のフィールド、メソッドが公開されます。
    • javaのように、フィールドやメソッドに個別に設定したりはしません。
  • インスタンスの生成
    • 変数の宣言と同じで、「<クラス名> <変数名>;」とします。
    • コンストラクタが引数を持つ場合、「<クラス名> <変数名>(<引数>, ..);」とします。
#include <iostream>

// クラス定義
class Kitten {
    // インスタンス変数
    int age;
    char *name;

public : // これ以下はpublic関数
    
    // コンストラクタ / publicセクションに書く。
    Kitten( char *name, int age ); 
    // デストラクタ / クラス名に"~"をつける。
    ~Kitten(); 
    
    // メソッド
    char *getName();  // クラス内にはプロトタイプ宣言のみ書く。 
    void setName( char *name );  
    void meow() {
        std::cout << name << std::endl;  // 実装付きで書くことも可能。
    }
}; // ";"が必要。

// コンストラクタの実装
Kitten::Kitten( char *name, int age ) {
    this->age = age; // thisへのアクセスには"->"を使う。
    this->name = name;
}
// デストラクタの実装
Kitten::~Kitten( ) {
    std::cout << name << " destroyed." << std::endl; 
}

// メソッドの実装。
char *Kitten::getName() {
    return name;
}
void Kitten::setName( char *name ) {
    this->name = name;
}

// メイン関数
int main() {
    
    Kitten kitten( "mii", 1 );
    kitten.meow();
    kitten.setName( "tora" );
    kitten.meow();
       
    return 0;
}

実行結果です。

mii
tora
tora destroyed.