我有三个文件,输出是我想要的,但它不是很优雅。
有没有办法只让对象num (122)
和num(554)
按顺序输出下一个数字五次而不必每次<< cout <<
?
这是main.cpp:
#include <iostream>
#include "number.h"
using namespace std;
int main()
{
Number obj(122);
cout << Nobj (122) << endl;
cout << Nobj (123) << endl;
cout << Nobj (124) << endl;
cout << Nobj (125) << endl;
cout << Nobj (126) << endl;
cout << Nobj (554) << endl;
cout << Nobj (555) << endl;
cout << Nobj (556) << endl;
cout << Nobj (557) << endl;
cout << Nobj (558) << endl;
}
标题文件:
#ifndef NUMBER_H
#define NUMBER_H
class Number
{
public:
Number(int numA);
int operator ()(int numB);
int numA;
};
#endif
number.cpp:
#include <iostream>
#include "number.h"
using namespace std;
Number::Number(int numC): numA(numC)
{}
int Number::operator()(int numB)
{
int i = 0;
while(i < 10)
{
return numB += 1;
i++;
}
}
输出是:
123
124
125
126
127
555
556
557
558
559
编辑:
for(int i = 0; i < 5; ++i)
{
cout << Nobj (122+i) << endl;
}
for(int i = 0; i < 5; ++i)
{
cout << Nobj (554+i) << endl;
}
答案 0 :(得分:1)
我认为这个功能可以帮助你。
inline void print_nums(const size_t start_num, const size_t loop_times) {
for (size_t i = 0; i < loop_times; ++i) {
std::cout << (start_num + i);
std::cout << std::endl;
}
}
答案 1 :(得分:0)
为了防止一直写cout你可以重载&lt;&lt;操作
friend std::ostream& ::operator <<(std::ostream& stream );
如果您想按顺序输出对象,例如: