C++のクラスをHSPに移植する
HSPのモジュールを使って移植します。
最終更新:2018/01/03
初版:2018/01/03
C++ | HSP |
---|---|
class MyClass{ //~ }; |
#module MyClass //~ #global |
C++ | HSP |
---|---|
class MyClass{ public: MyClass(int p1); }; MyClass::MyClass(int p1){ //コンストラクタ //~ } |
#module MyClass #modinit int p1 //コンストラクタ //~ return #global |
C++ | HSP |
---|---|
class MyClass{ public: MyClass(int p1); ~MyClass(); }; MyClass::MyClass(int p1){ //コンストラクタ //~ } MyClass::~MyClass(){ //デストラクタ //~ } |
#module MyClass #modinit int p1 //コンストラクタ //~ return #modterm //デストラクタ //~ return #global |
C++ | HSP |
---|---|
class MyClass{ public: MyClass(int p1); ~MyClass(); private: int val = 0; }; MyClass::MyClass(int p1){ //コンストラクタ val = p1; //valにp1を代入 } MyClass::~MyClass(){ //デストラクタ } |
#module MyClass val #modinit int p1 //コンストラクタ val = p1//valにp1を代入 return #modterm //デストラクタ return #global |
C++ | HSP |
---|---|
class MyClass{ public: MyClass(); ~MyClass(); int func(int p1); }; MyClass::MyClass(){ //コンストラクタ } MyClass::~MyClass(){ //デストラクタ } int MyClass::func(int p1){ //~ return 0; } |
#module MyClass #modinit //コンストラクタ return #modterm //デストラクタ return #modfunc func int p1 //~ return 0 #global |
C++ | HSP |
---|---|
#include "stdafx.h" #include <iostream> class MyClass{ public: MyClass(int p1); ~MyClass(); }; MyClass::MyClass(int p1){ //コンストラクタ } MyClass::~MyClass(){ //デストラクタ } int main() { MyClass Class1(100); //MyClass型のClass1を作成 return 0; } |
#module MyClass #modinit int p1//コンストラクタ return #modterm //デストラクタ return #global newmod Class1, MyClass, 100 //MyClass型のClass1を作成 |
C++ | HSP |
---|---|
#include "stdafx.h" #include <iostream> class MyClass { public: MyClass(int p1, int p2); ~MyClass(); int Add(void); private: int val1 = 0; int val2 = 0; }; MyClass::MyClass(int p1, int p2) { //コンストラクタ val1 = p1; val2 = p2; } MyClass::~MyClass() { //デストラクタ val1 = 0; val2 = 0; } int MyClass::Add(void) { return (val1 + val2); } int main() { MyClass Class1(100, 200); //MyClass型のClass1を作成 std::cout << "value:" << Class1.Add(); //出力 return 0; } |
#module MyClass val1, val2 #modinit int p1, int p2 //コンストラクタ val1 = p1 val2 = p2 return #modterm //デストラクタ val1 = 0 val2 = 0 return #modcfunc Add return (val1 + val2) #global newmod Class1, MyClass, 100, 200 //MyClass型のClass1を作成 mes "value:"+Add(Class1) //出力 stop |
(C)2019 inonote / 無断転載禁止