当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

const 成员函数

发表于: 2011-11-23   作者:cherishLC   来源:转载   浏览次数:
摘要: //const成员函数 class TestConstMemberFunc{ public: int x,y; int getX(){ return x; } int getXconst() const{//加上cosnt,表明该函数不改变类内的变量,因而可以被cosnt的TestConstMemberFunc调用 //x=1;Error//error: 'x'
//const成员函数
class TestConstMemberFunc{
public:
	int x,y;
	int getX(){
		return x;
	}
	int getXconst() const{//加上cosnt,表明该函数不改变类内的变量,因而可以被cosnt的TestConstMemberFunc调用
		//x=1;Error//error: 'x' cannot be modified because it is being accessed through a const object
		return x;
	}
	int cmp(TestConstMemberFunc tc2) const{//tc2不是const的,因为是经过复制的
		tc2.x=1;
		return x>tc2.x;
	}

	int cmpConstReference(TestConstMemberFunc& tc2) const{//tc2也是const的,因为此处为reference
		tc2.x=1;
		return x>tc2.x;
	}
};

void test_constMemberFunc(){
	const TestConstMemberFunc t,t2;
	//t.getX();//error: cosnt TestConstMemberFunc不能调用非const的成员函数
	t.getXconst();
	t.cmp(t2);//ok
	//t.cmpConstReference(t2);//Error: cannot convert parameter 1 from 'const TestConstMemberFunc' to 'TestConstMemberFunc &'

}

const 成员函数

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
#include <iostream> using namespace std; class base1 { public: virtual void fun1a() con
静态成员函数与友元函数的区别只是作用域不同:友元函数具有全局性,不慎使用可能会造成函数同名冲
一、构造函数初始化列表 推荐在构造函数初始化列表中进行初始化 构造函数的执行分为两个阶段 初始化
三种数据类型的初始化 1.static int a 的初始化 const int a 的初始化 static const int a的初始化
CString 成员函数用法大全 CString( ); 例:CString csStr; CString( const CString& stringSrc );
6 const
关键字const: a.const是用来定义只读变量的,切忌它定义的是变量,不是常量,真的常量是#define的
在本文中,我们主要介绍成员函数虚函数的内容,自我感觉有个不错的建议和大家分享下 /* * 程序的版权
思考题: 我们可以说,静态数据成员和静态成员函数时类的一部分,而不是对象的一部分(谭老师说的)
源代码如下: view plain #include <iostream> using namespace std; class CSimple { public
surf和sift算法都是在头文件#include <opencv2/features2d/features2d.hpp>中,但在新的openc
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号