网站建设提供书面资料清单,Wordpress4.0参考手册.CHM,宁波建设工程检测行业协会网站,wordpress支付下载地址大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp
#include iostream
#include wine.h
… 大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp
#include iostream
#include wine.h
using namespace std;int main()
{cout Enter name of wine:;char lab[50];cin.getline(lab, 50);cout Enter number of years:;int yrs;cin yrs;Wine holding(lab, yrs);holding.GetBottles();holding.show();const int YRS 3;int y[YRS] { 1993,1995,1998 };int b[YRS] { 48,60,72 };Wine more(Gushing Grape Red, YRS, y, b);more.show();cout Total bottles for more.Label() :; more.sum() endl;cout Bye! endl;return 0;
}
wine.h
#include iostream
#include string
#include valarrayusing namespace std;template class T1, class T2 class Pair;
typedef valarrayint ArrayInt;
typedef PairArrayInt, ArrayInt PairArray;template class T1, class T2
class Pair
{
private:T1 a;T2 b;
public:T1 first();T2 second();T1 first()const { return a; }T2 second()const { return b; }Pair(const T1 aval, const T2 bval) :a(aval), b(bval) {}Pair() {}
};class Wine
{
private:string label;PairArray info;int year;
public:Wine(const char* l, int y, const int yr[], const int bot[]);Wine(const char* l, int y);void GetBottles();const string Label()const;int sum()const;void show();
};
wine.cpp
#include wine.htemplateclass T1, class T2
T1 PairT1, T2::first()
{return a;
}templateclass T1, class T2
T2 PairT1, T2::second()
{return b;
}Wine::Wine(const char* l, int y, const int yr[], const int bot[]):info(ArrayInt(yr,y),ArrayInt(bot,y))
{this-label l;this-year y;
}
Wine::Wine(const char* l, int y):info(ArrayInt(0,0),ArrayInt(0,0))
{this-label l;this-year y;
}
void Wine::GetBottles()
{cout Enter label data for year year: endl;info.first().resize(year);info.second().resize(year);for (int i 0; i year; i){cout Enter year: ;cin info.first()[i];cout Enter bottles for that year: ;cin info.second()[i];}
}
const string Wine::Label()const
{return label;
}
int Wine::sum()const
{return info.second().sum();
}
void Wine::show()
{cout Wine: label endl;cout Year Bottles endl;for (int i 0; i year; i){cout info.first()[i] info.second()[i] endl;}
}运行结果:
考查点:
模版类类型重定义typedef组合valarray模版类
注意:
构造函数用的初始化列表进行初始化,且用了valarray构造函数 valarray可重新指定数组大小 valarray也可以计算数组总数 模版类一定要记得说明哦
2024年9月9日19:49:55