我是C ++编程的新手。
下面是我的代码,它有两个类class 1
和class 2
,它们根据通过对象指针myclass1
和myclass2
发送的main函数的值进行一些计算。代码工作正常,但现在我需要进行更改,仅当calc
的函数class1
返回true值时,class2
及其成员函数computation
应从主函数和算法运行中获取其值x
。即如果class1返回true,则class 2运行No。
如果有人能暗示我一个想法并说明如何继续下去,我将不胜感激。
提前致谢
代码
class1.h
class class1
{
public:
class1()
{
};
~class1()
{
};
bool calc(int a, int b, int c)
{
if (some condition){ // returns true or false based on some condition
result=true;
}
else{
result=false;
}
return result;
};
class2.h
class class2
{
public:
class2()
{
};
~class2()
{
};
int computation (int x)
{
do some calculations
result=1;
}
return result;
};
的main.cpp
#include "class1.h"
#include "class2.h"
using namespace std;
int main(int argc, char * argv[])
class1* myclass1 = new class1();
class2* myclass2 = new class2();
int x=0.5, y=0.7, z=0.9;
int result1 = myclass1->calc(x,y,z);
int result2 = myclass2-> computation(x); // should be assigned or activated only when result1 is true.
return 0;
}
答案 0 :(得分:2)
int result = 0;
if(myclass1->calc(x,y,z))
result = myclass2->computation(x);
请注意,对于Class1
,您要为bool
分配int
- 请确保您拥有正确的类型分配。
答案 1 :(得分:0)
只需使用简单的if:
bool result1 = myclass1->calc(x,y,z);
int result2 = -1; // -1 means not computed in this case
if(result1){
result2 = myclass2-> computation(x); // should be assigned or activated only when result1 is true.
}