65,187
社区成员




#include<iostream>
using namespace std;
template<class T> struct plus{
T operator()(const T& x,const T& y)const{
return x+y;
}
};
template<class T> struct minus{
T operator()(const T& x,const T& y)const{
return x-y;
}
};
int main(){
plus<int> plusobj; //在编译时说plus没定义。
minus<int> minusobj;
cout<<plusobj(3,5)<<endl;
cout<<minusobj(3,5)<<endl;
cout<<plus<int>()(43,50)<<endl;//这两句的语法比较诡异,是将plus<int>()当成一个函数名了吗?
cout<<minus<int>()(43,50)<<endl;
}
14 E:\skin\学习\C++相关\stl源码剖析\opertor多载化.cpp `plus' undeclared (first use this function)
14 E:\skin\学习\C++相关\stl源码剖析\opertor多载化.cpp expected primary-expression before "int"
。。。。。。。。。。。。。。
std::cout<<plus<int>()(43,50)<<std::endl;//这两句的语法比较诡异,是将plus<int>()当成一个函数名了吗?
std::cout<<minus<int>()(43,50)<<std::endl;
#include<iostream>
//using namespace std;
template<class T> struct plus{
T operator()(const T& x,const T& y)const{
return x+y;
}
};
template<class T> struct minus{
T operator()(const T& x,const T& y)const{
return x-y;
}
};
int main(){
plus<int> plusobj; //在编译时说plus没定义。
minus<int> minusobj;
std::cout<<plusobj(3,5)<<std::endl;
std::cout<<minusobj(3,5)<<std::endl;
std::cout<<plus<int>()(43,50)<<std::endl;//这两句的语法比较诡异,是将plus<int>()当成一个函数名了吗?
std::cout<<minus<int>()(43,50)<<std::endl;
}
#include<iostream>
#include <math.h>
#include <functional>
using namespace std;
template<class T> struct Plus
{
T operator()(const T& x,const T& y)const
{
return x+y;
}
};
template<class T> struct Minus
{
T operator()(const T& x,const T& y)const
{
return x-y;
}
};
int main()
{
Plus<int> plusobj; //在编译时说plus没定义。
Minus<int> minusobj;
cout<<plusobj(3,5)<<endl;
cout<<minusobj(3,5)<<endl;
cout<<Plus<int>()(43,50)<<endl;//这两句的语法比较诡异,是将plus<int>()当成一个函数名了吗?
cout<<Minus<int>()(43,50)<<endl;
}