栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++常量函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++常量函数

什么是常量函数

在函数声明的参数列表后加上const关键字将函数声明为常量函数。

void hello() const {
    print("Hello!");
}

注意:const关键字位于函数声明的返回类型前时不是常量函数,只是函数的返回值为常量。

const int f1() {...}	// 不是常量函数,函数的返回值为常量
int f2() const {...}	// 常量函数
常量函数的特性

常量函数只能读取外部数据而无法修改。

class A {
private:
    int n;
public:
    void f() const {
        n = 0;			// 错误:表达式必须是可修改的左值
    }
};
常量函数的调用规则
  • 非常量对象可以调用常量函数和非常量函数。
  • 常量对象可以调用常量函数,不可以调用非常量函数。

举例:

#include 
using namespace std;

class A {
public:
    void f1() { cout << "f1" << endl; }
    void f2() const { cout << "f2" << endl; }
};

int main() {
    A a;
    a.f1();
    a.f2();

	const A b;
	b.f1();		// 错误:对象含有与成员函数"A::f1"不兼容的类型限定符
	b.f2();

    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号