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 / 無断転載禁止