1、一般来说,一个重写的函数必须与被他重写的函数具有相同的返回类型:
class Shape {
public:
//....
virtual double area( ) const = 0;
//...
};
class Circle : public Shape {
public:
float area( ) const; //错误,返回类型不同
//....
本文介绍了C++中的协变返回类型,允许派生类函数返回比基类虚函数更具体的类型,如Shape的clone操作。这在处理Shape及其派生类时,能避免不必要的类型转换,提高代码的可读性和安全性。文中通过clone和Factory Method的例子阐述了协变返回类型的优势和应用场景。
1、一般来说,一个重写的函数必须与被他重写的函数具有相同的返回类型:
class Shape {
public:
//....
virtual double area( ) const = 0;
//...
};
class Circle : public Shape {
public:
float area( ) const; //错误,返回类型不同
//....

被折叠的 条评论
为什么被折叠?