我的 C++ 课程的实验室作业有点麻烦。
基本上,我试图获得“cout << w3 << endl;” 工作,这样当我运行程序时控制台会显示“16”。我发现我需要使用 ostream 重载操作,但我不知道该放在哪里或如何使用它,因为我的教授从未谈论过它。
不幸的是,我必须使用格式“cout << w3”而不是“cout << w3.num”。我知道,后者会更快更容易,但这不是我的决定,因为作业需要我以前一种方式输入。
主.cpp:
#include <iostream>
#include "weight.h"
using namespace std;
int main( ) {
weight w1(6);
weight w2(10);
weight w3;
w3=w1+w2;
cout << w3 << endl;
}
重量.h:
#ifndef WEIGHT_H
#define WEIGHT_H
#include <iostream>
using namespace std;
class weight
{
public:
int num;
weight();
weight(int);
weight operator+(weight);
};
#endif WEIGHT_H
重量.cpp:
#include "weight.h"
#include <iostream>
weight::weight()
{
}
weight::weight(int x)
{
num = x;
}
weight weight::operator+(weight obj)
{
weight newWeight;
newWeight.num = num + obj.num;
return(newWeight);
}
TL;DR:如何通过重载 ostream 操作使 main.cpp 中的“cout << w3”行工作?
提前致谢!