`

const 成员函数

    博客分类:
  • C++
阅读更多
//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成员函数、初始化列表、static成员1

    const成员函数、初始化列表、static成员1

    C++ 中const对象与const成员函数的实例详解

    C++ 中const对象与const成员函数的实例详解 const对象只能调用const成员函数: #include using namespace std; class A { public: void fun()const { cout<<const 成员函数!<<endl; } void fun()...

    C++成员函数后的const

    以下的每一点会给出代码示例说明  一、c++成员函数后的const有以下特点: ...  二、另外,const对象与const成员函数相关的内容  1.由const 类名构造的对象只能调用 const方法  2.const对象的构

    徐彤教程-C++编程const与static第0263讲:实例03-const成员函数

    徐彤老师耗时三年倾心制作,专业录制,通俗,细致的讲解了C++ 编程从入门到高级

    const 修饰成员函数.zip

    const 修饰成员函数

    const修饰类的成员函数

    比较好的一本学习c数据结构,算法的书,书的内容丰富。有许多代码案例,通俗易懂

    构造、析构函数

    构造函数和析构函数

    图书管理系统.cpp

    该文件是做一个简单图书管理系统项目的框架的源程序文件,用c++做好了框架,有部分的功能,其他功能需要自己添加。

    Const资料整理

    Const,Const函数,Const变量,函数后面的Const ,Const成员函数,c++仅供参考

    C++中const用于函数重载的示例代码

    (3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数。 (4)非常量对象也可以调用常成员函数,但是如果有重载的非常成员函数则会调用非常成员函数。 重载看例子...

    C++基础,从入门到类与对象的 const修饰成员函数

    C++基础,从入门到类与对象的 const修饰成员函数

    深入理解c++常成员函数和常对象

    先明确几个概念: 1. 常对象只能调用常成员函数。 2. 普通对象可以调用全部成员函数。...在X类的const成员函数中,this指针的类型为:const X* const, 这说明this指针所指向的这种对象是不可修改的(即不能对这种

    深入理解C++中常见的关键字含义

    2. const:定义常成员,包括const数据成员和const成员函数,const数据成员必须,也只能通过构造函数的初始化列表进行初始化,const成员函数只能访问类的成员,不能进行修改,如果需要修改,则引入下面的mutable...

    const在函数声明中的应用

    对于成员函数,还可以修饰是整个函数。有如下几种情况,以下会逐渐的说明用法:  A& perator=(const A& a);  void fun0(const A* a );  void fun1( ) const; // fun1( ) 为类成员函数  const A fun2( );  ...

    矩阵类程序

    编完这个矩阵类感觉收获蛮大的,关于继承与派生以前只知道原理,这次把它实现了。...在自己编的时候遇到了一些问题,比如对const使用的问题,忽略了类的const引用只能访问const成员函数等。但最后都解决了

    C++的const类成员函数

    为了保证const对象的常量性,编译器须区分不安全与安全的成员函数(即区分试图修改类对象与不修改类对象的函数)。例如:  const Screen blankScreen;  blankScreen.display(); // 对象的读操作  blankScre

    c++ 类中const成员变量的赋值方法

    在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。 2、const 定义的变量是不能...

    EDA/PLD中的const在函数声明中的应用

    对于成员函数,还可以修饰是整个函数。有如下几种情况,以下会逐渐的说明用法:  A& perator=(const A& a);  void fun0(const A* a );  void fun1( ) const; // fun1( ) 为类成员函数  const A fun2( );  ...

    C++Primer Plus学习笔记(六)

    类Class的用法 类的构造函数和析构函数 const成员函数 this指针 对象数组

Global site tag (gtag.js) - Google Analytics