首先介绍构成函数重载的条件:函数的参数类型不同,参数个数不同才能构成函数的重载
情况一: 参数完全相同,只有返回值不同
示例 :
void print();
int print();
由于只有返回值不同故无法区分到底调用那个函数,因此不能重载
情况二: 语意不明确
示例:
KK(int x , int y = 10){
this->x = 10;
this->y = y;
}
KK(int x){
this->x = 10;
this->y = 10;
}
完整程序
#include <cstdio>
#include <iostream>
using namespace std;
typedef class KK{
public:
KK(int x , int y = 10){
this->x = 10;
this->y = y;
}
KK(int x){
this->x = 10;
this->y = 10;
}
~KK(){
}
int x;
int y;
void print(){
cout << x << endl << y << endl;
}
}*LPPoint, Point;
int main(){
LPPoint pt = (LPPoint)(new Point(3));
pt->x = 5;
pt->y = 5;
pt->print();
cout << sizeof(Point) << " " << sizeof(int) << endl;
delete pt;
return 0;
}
VS2013报错信息