gpt4 book ai didi

c++ - PairArr::operator=(PairArr(ValArrInt(ytemp, NY),ValArrInt(btemp,NY)));

转载 作者:行者123 更新时间:2023-11-28 04:44:00 25 4
gpt4 key购买 nike

template <typename T1,typename T2>
class Pair
{
private:
T1 a;
T2 b;
public:
T1 & first() { return a; }
T2 & second() { return b; }
T1 first() const { return a; }
T2 second() const { return b; }
Pair(const T1 & aval, const T2 & bval) : a(aval), b(aval) {};
Pair() {}
};

using ValArrInt = std::valarray<int>;
using PairArr = Pair<ValArrInt, ValArrInt>;

class Wine : private string, private PairArr
{
private:
int NY;
public:
Wine(const char * l, int y, const int yr[], const int bot[]);
void Show() const;
};

Wine::Wine(const char * l, int y, const int yr[], const int bot[])
:string(l), NY(y)
{
PairArr::operator=(PairArr(ValArrInt(yr, NY), ValArrInt(bot, NY)));
}

void Wine::Show() const
{
cout << "Wine: " << (const string &)*this << endl;
cout << "\tYear\tBottles\n";
for (int i = 0; i < NY; i++)
{
cout << "\t" << PairArr::first()[i] << "\t"
<< PairArr::second()[i] << endl;
}
}

在这一行中:

PairArr::operator=(PairArr(ValArrInt(yr, NY), ValArrInt(bot, NY)));

为什么 PairArr 组件以 ValArrInt(yr, NY)(第一个参数)作为其 a 和 b 成员结束。

用这个测试:

    const int YRS = 3;
int y[YRS] = { 1993,1995,1998 };
int b[YRS] = { 48,60,72 };
Wine more("Gushing Grap Red", YRS, y, b);
more.Show();

题外话:一直要求我为代码量添加更多详细信息......但是没有。我应该满足某种代码与非代码的比例吗?

最佳答案

所以,显然你有一个打印错误,你在两个地方都输入了 aval:

Pair(const T1 & aval, const T2 & bval) : a(aval), b(aval) {};

关于c++ - PairArr::operator=(PairArr(ValArrInt(ytemp, NY),ValArrInt(btemp,NY)));,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com