C++面向对象程序设计 037:函数对象的过滤器 ---- (北大Mooc)
发布日期:2021-06-30 22:27:55 浏览次数:2 分类:技术文章

本文共 1283 字,大约阅读时间需要 4 分钟。

文章目录


专题博客链接


原题题目

在这里插入图片描述

#include 
#include
using namespace std;struct A {
int v; A() {
} A(int n):v(n) {
}; bool operator<(const A & a) const {
return v < a.v; }};// 在此处补充你的代码template
void Print(T s,T e){
for(;s!=e; ++s) cout << *s << ","; cout << endl;}template
T2 Filter( T1 s,T1 e, T2 s2, T3 op) {
for(;s != e; ++s) {
if( op(*s)) {
* s2 = * s; ++s2; } } return s2;}ostream & operator <<(ostream & o,A & a){
o << a.v; return o;}vector
ia;vector
aa; int main(){ int m,n; while(cin >> m >> n) { ia.clear(); aa.clear(); int k,tmp; cin >> k; for(int i = 0;i < k; ++i) { cin >> tmp; ia.push_back(tmp); aa.push_back(tmp); } vector
ib(k); vector
ab(k); vector
::iterator p = Filter(ia.begin(),ia.end(),ib.begin(),FilterClass
(m,n)); Print(ib.begin(),p); vector
::iterator pp = Filter(aa.begin(),aa.end(),ab.begin(),FilterClass
(m,n)); Print(ab.begin(),pp); } return 0;}

代码实现

template 
class FilterClass{
private: int m; int n;public: FilterClass(int m1,int n1):m(m1),n(n1){
} bool operator()(T& ret) {
if( !(ret

转载地址:https://love6.blog.csdn.net/article/details/115031591 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C++面向对象程序设计 038:白给的list排序 ---- (北大Mooc)
下一篇:C++面向对象程序设计 036:很难蒙混过关的CArray3d三维数组模板类 ---- (北大Mooc)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月24日 22时38分44秒