제가 C++을 델파이로 변환하고 싶은데 C++을 잘몰라서 그러는데요..고수님들 부탁..
먼저 Header File의 정의 하는 부분에서 Class안에 Public으로 2번 정의할 수 있는지 또 만약 델파이로 정의하려면 Unit별로 정의를 해야하는지를 알고싶고요
소스는 다음과 같습니다.
다음을 정의하고 싶은데
Unit Alpha, Unit Giga로 정의시에 Class 멤버함수 및 멤버변수를 모두 &연산자로 처리하 있는데 델파이에서는 이걸 어떻게 하는지 예를 들어서 설명해 주심 감사.
Ex)
Unit Alpha;
interface
uses
windows, Giga, Messages, Math;
type
CAlpha = Class
Public
var
a,b,c : Double;
d,e : Double;
f,g,h,i : Double;
j,k,l,m,n,o : Double;
Public
이후로 할려니까 잘안되네요..
그리고 클래스를 만들었쟎아요. 근데 다른 Unit에서 CAlpha의 함수를 참조하려면 어떻게 하나요...
예를 들어 CAlpha의 Public에 있는 Procedure Beta(??C++에서 델파이로 정의시 잘 모름)를 정의한 후에 다른 유닛에서 쓰려면...
그리고 만약 어떤 함수에 다른 유닛에서 계산된 변수를 집어 넣어서 계산된 값들이 한개일 경우는 Function을 쓰는데 여러개일 경우는 Procedure를 쓰는걸로 알고 있습니다.
그럴경우 다른유닛에서 계산된 변수들이 변하면 이 변수들이 들어가는 함수의 값들도 변하게 되는데 이럴 경우는 어떻게 하는지 예를 들어 주세요...
급하네요~~고수님들의 명쾌한 답변 부탁드립니다. 그럼 수고들 하세요
다음의 C++을 델파이로 변환하는 예를 보여주심 감사하겠어요~~
이해가 잘안가서요~~
----------------------------------------------------------------------------------Alpha.h 파일
// Alpha.h: interface for the CAlpha class.
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Cgiga.h"
class CAlpha
{
public:
double a,b,c;
double d,e;
double f,g,h,i;
double j,k,l,m,n,o;
public:
CAlpha();
virtual ~CAlpha();
double Beta(CGiga &giga);
double Delta(CGiga &giga);
double Gamma(CGiga &giga);
};
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
Giga.h 파일
// Giga.h: interface for the CGiga class.
class CGiga
{
public:
double vel,revel,a1,a2,Yaang;
double Swvel;
public:
CGiga();
virtual ~CGiga();
};
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Alpha.Cpp 파일
// Alpha.cpp: implementation of the CAlpha class.
//
#include "stdafx.h"
#include "Alpha.h"
#include "math.h"
CAlpha::CAlpha()
{
a = 1.000;
b = 2.000;
c = 3.000;
d = 4.000;
e = 5.000;
f = 6.000;
g = 7.000;
h = 8.000;
i = 9.000;
j = 10.000;
k = 11.000;
l = 12.000;
m = 13.000;
}
CAlpha::~CAlpha()
{
}
double CAlpha::Beta(CGiga &giga)
{
double A0,A1;
A0 = a;
A1 = b;
if(giga.vel == 0.0) a = 0.0;
else
{
a = b*c;
}
return a;
}
double CAlpha::Delta(CGiga &giga)
{
double B0,B1,B2,B3,B4;
B0 = e;
B1 = f;
B2 = g;
B3 = h;
B4 = i;
if(giga.revel == 0.0) b = 0.0;
else
{
b= a * b * c;
}
return b;
}
double CAlpha::Gamma(CGiga &giga)
{
double C0,C1,C2;
C0 = giga.a1;
C1 = giga.a2;
if(giga.ReVel == 0.0)
c = C0*giga.Yaang;
else
{
c = C0*giga.Swvel
}
return c;
}
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
// Giga.cpp: implementation of the CGiga class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "giga.h"
#include "math.h"
CGiga::CGiga()
{
double vel,revel,a1,a2,Yaang;
double Swvel;
vel = 5.00;
revel = 8.0;
a1 = 5.40;
a2 = 0.50;
Yaang = 0.0;
Swvel = -0.018;
}
CGiga::~CGiga()
{
}
------------------------------------------------------------------------------