![]() |
#2
落默仸2012-11-25 11:47
|

C++学习中的问题汇总:
C++里指向函数的指针如
#include<iostream>
using namespace std;
int main(){
int max(int);
int (*p)(int)=&max;
(*p)();
return 0;
}
int max(int x=5){cout<<x<<endl;return x;}
为何已经声明了默认参数还是不能用指向函数的指针来调用且不传递参数。
为什么在类中定义了两个类型转换函数就出错?
#include<iostream>
using namespace std;
class T{
private:
int a;
double b;
public:
T(int a,double b):a(a),b(b){}
operator double(){return b;}
operator int(){return a;}//这行如果注释掉编译通过,结果正确
};
int main(){
T x(3,7.37);
cout<<(2.1+x)<<endl;
return 0;
}
C++里指向函数的指针如
#include<iostream>
using namespace std;
int main(){
int max(int);
int (*p)(int)=&max;
(*p)();
return 0;
}
int max(int x=5){cout<<x<<endl;return x;}
为何已经声明了默认参数还是不能用指向函数的指针来调用且不传递参数。
为什么在类中定义了两个类型转换函数就出错?
#include<iostream>
using namespace std;
class T{
private:
int a;
double b;
public:
T(int a,double b):a(a),b(b){}
operator double(){return b;}
operator int(){return a;}//这行如果注释掉编译通过,结果正确
};
int main(){
T x(3,7.37);
cout<<(2.1+x)<<endl;
return 0;
}