C++成员函数后的const
作者:网络转载 发布时间:[ 2014/5/4 10:36:27 ] 推荐标签:C++ 函数 net
以下的每一点会给出代码示例说明
一、c++成员函数后的const有以下特点:
1.隐含的this指针以const 类名的类型传递
2.const 只能声明成员函数,不能声明静态函数
(static函数不能有const修饰符,const 成员函数是包含this指针的,这明显不被static函数允许)
3.const 成员函数不能修改对象的任意非静态成员
4.const 成员函数不能调用非const 成员函数
二、另外,const对象与const成员函数相关的内容
1.由const 类名构造的对象只能调用 const方法
2.const对象的构造函数和析构函数无需用关键字const声明
1-1
//error C2662: “Text::print”: 不能将“this”指针从“const Text”转换为“Text &”
#include "stdafx.h"
#include "iostream"
using namespace std;
class Text{
public:
void printconst(void)const{cout<<"hello"<<endl;}
void print(void){cout<<"hello"<<endl;}
private:
int k;
};
//上面定义了类Text的一常量对象
int main(void)
{
a.printconst(); //ok
a.print(); //error
//上面a.print()调用是非法的
return 0;
}
|
1-2
//error C2272: “printconst”: 静态成员函数上不允许修饰符
#include "stdafx.h"
#include "iostream"
using namespace std;
class Text{
public:
void static printconst(void) const{cout<<"hello"<<endl;}
void print(void){cout<<"hello"<<endl;}
private:
int k;
};
int main(void)
{
Text a;
a.printconst();
return 0;
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南