我是靠谱客的博主 清脆枫叶,这篇文章主要介绍成员函数可以重载吗?,现在分享给大家,希望可以做个参考。

成员函数可被重载

成员函数只能重载本类的其他成员函数。类的成员函数与普通的非成员函数以及在其他类中声明的函数不相关,也不能重载它们。重载的成员函数和普通函数应用相同的规则:两个重载成员的形参数量和类型不能完全相同。调用非成员重载函数所用到的函数匹配过程也应用于重载成员函数的调用。

定义重载成员函数

为了举例说明重载,可以给出 Screen 类的两个重载成员,用于从窗口返回一个特定字符。两个重载成员中,一个版本返回由当前光标指示的字符,另一个返回指定行列处的字符:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
class Screen { public: typedef std::string::size_type index; // return character at the cursor or at a given position char get() const { return contents[cursor]; } char get(index ht, index wd) const; // remaining members private: std::string contents; index cursor; index height, width; };
登录后复制

与任意的重载函数一样,给指定的函数调用提供适当数目和类型的实参来选择运行哪个版本:

复制代码
1
2
3
Screen myscreen; char ch = myscreen.get();// calls Screen::get() ch = myscreen.get(0,0); // calls Screen::get(index, index)
登录后复制

推荐教程:《c++视频教程》

以上就是成员函数可以重载吗?的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是清脆枫叶最近收集整理的关于成员函数可以重载吗?的全部内容,更多相关成员函数可以重载吗内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部