马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
#include<string>
#include<valarray>
// 一个包含两个参数的类模板
template<typename T1 , typename T2>
class My_Pair
{
private:
T1 a;
T2 b;
public:
My_Pair(T1 & avar , T2 & bvar) : a(avar) , b(bvar) {} // 构造函数
My_Pair();
// 返回成员类型的引用 能够通过赋值重新设置存储的值
T1 & First() { return a; }
T2 & Second() { return b; }
T1 First() const { return a; }
T2 Second() const { return b; }
};
typedef std::valarray<int> IntArray;
typedef My_Pair<IntArray , IntArray> PairArray;
// 一个显示葡萄酒名称 年份 和该年生成的瓶数的类
class Wine
{
private:
PairArray W_pai; // 用于存储葡萄酒年份和瓶数的对象
std::string W_name; // 葡萄酒的名字
public:
// 构造函数
Wine(const char & str , const int w_year[] , const int w_bot[] , int n);
};
int main()
{
return 0;
}
Wine::Wine(const char & str , const int w_year[] , const int w_bot[] , int n)
{
IntArray A(w_year , n); // 这里初始化报错了 求大神告知这里应该怎么初始化 想了半天也没有想出怎么初始化
IntArray B(w_bot , n);
W_pai = PairArray(A , B);
W_name = str;
}
报错内容
|| undefined reference to `My_Pair<std::valarray<int>, std::valarray<int> >::My_Pair()'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
你的My_Pair()没有函数实现。但你 这里又隐式调用了它的默认构造函数
|