求助,关于C++重载问题?
using namespace std;
class Rectangle
{
private:
double length,width;
public:
Rectangle(); //声明无参数的构造函数
Rectangle(double a,double b); //声明带两个参数的构造函数
void area();
};
Rectangle::Rectangle()
{
length=1;
width=1;
}
Rectangle::Rectangle(double a=1,double b=1)
{
length=a;
width=b;
}
void Rectangle::area()
{
cout<<"面积是:"<<length*width<<endl;
}
int main()
{
Rectangle rect1;
rect1.area();
Rectangle rect2(5,6);
rect2.area();
system("pause");
return 0;
}
'Rectangle::Rectangle' : ambiguous call to overloaded function这是vc++6.0出现的错误
我是照着书搬的,哪儿错了吗?还是vc6.0的问题
相关推荐
cpp代码-C++符号重载
cpp代码-C++符号重载
详解C++ 重载运算符和重载函数
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。 C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。 下面的实例中,同名函数 print() 被
C++运算符重载规则详解
主要介绍了C++运算符重载规则详解,是C++入门学习中的基础知识,需要的朋友可以参考下
C++ 重载运算符和重载函数
C++ 重载运算符和重载函数 C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。 C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。 下面的实例中
c++ 重载、覆盖、重写
这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下


