在本教程中,我们将研究
- 恒定成员函数
- 可变关键字
- 重载成员函数
1. C ++中的常量成员函数
以下是常成员函数的几点
- “ const”是用于声明常量成员函数的关键字。
- 一旦成员函数声明为常量,就无法修改该函数中的数据成员值。
- 我们在不需要意外修改数据的功能中使用它。
例:
#include <iostream> using namespace std; class MyClass { int num; public: void myFunc() const { // error: cannot assign to non-static data member within const member function 'myFunc //num ++; cout<<"In const function"<<endl; } }; int main(void) { static MyClass obj; obj.myFunc(); return 0; }
输出:
In const function
2. C ++中的可变数据成员
以下是有关“可变”关键字的几点说明。
- “ mutable”关键字仅适用于数据成员。
- 在某些情况下,我们需要在常量成员函数内部修改数据。
- 在这种情况下,我们使数据成员可变,以便可以在常量成员函数中对其进行修改。
例:
#include <iostream> using namespace std; class MyClass { mutable int iNum; int num; public: void myFunc() const { // error: cannot assign to non-static data member within const member function 'myFunc //num ++; iNum++; // no error cout<<"In const function"<<endl; } }; int main(void) { static MyClass obj; obj.myFunc(); return 0; }
输出:
In const function
3.重载C ++中的成员函数
- 函数重载是具有相同名称但参数不同的两个或多个函数的功能。
- 这是C ++的多态性特征
例:
#include <iostream> using namespace std; void fun(int num) { cout<<"Int function"<<endl; } void fun(double num) { cout<<"double function"<<endl; } void fun(string num) { cout<<"String function"<<endl; } int main(void) { fun(10); fun(12.34); fun("String"); return 0; }
输出:
Int function double function String function
该网站上可用的教程列表:
C编程20+章 | C ++编程80+章 |
100多个编码问题 | 数据结构和算法85+章 |
系统设计20+章 | Shell脚本编写12章 |
4g LTE 60+章节 | 最常见的编码问题 |
5G NR 50+章 | Linux系统编程20+章 |