我是 C++ 新手,这个让我很难过。我想将一个结构传递给一个类(我知道它们在技术上是相同的),以便该类可以访问结构中的数据。我不介意它是作为引用还是副本传递,因为类中的结构不会发生任何变化。话虽如此,参考可能会更好地提高性能。如果我单独传递结构的成员,我可以让它正常工作,但真实版本将有大约 30 个成员,所以单独传递它们不是最好的选择。
我的主要cpp:
#include "stdafx.h"
#include "myClass.h"
#include <iostream>
using namespace std;
struct foo
{
int num;
double dbl;
};
int _tmain(int argc, _TCHAR* argv[])
{
foo bar;
bar.dbl=3.14;
bar.num=42;
baz qux(); //bar needs to be passed here
cout<<qux.getSum()<<endl;
return 0;
}
类头:
using namespace std;
class baz
{
public:
baz(); //This is where type of bar (foo) is declared
void setSum(int, double);
double getSum();
private:
double sum;
};
cpp类:
#include "stdafx.h"
#include "myClass.h"
#include <iostream>
using namespace std;
baz::baz() //this is where bar is called
{
setSum(bar.num, bar.dbl);
}
void baz::setSum(int num, double dbl)
{
sum=num*dbl;
}
double baz::getSum()
{
return sum;
}
所以问题的关键是,我如何让 bar 进入 baz?