const成员函数学习——用实例说话

先上代码
// funcConst.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class TwoData
{
public:

	void func(int x,int y)
	{
		i=x;
		j=y;
	}

	void print() const
	{
		cout<<"i*j="<<i*j<<endl;
	}

private:
	int i;
	int j;
};
int _tmain(int argc, _TCHAR* argv[])
{
	TwoData TD;
	TD.func(3,8);
	TD.print();
	return 0;
}

首先,介绍const成员函数的作用,const成员函数主要的作用就是让不让我们的成员函数进行修改我们的class类内部的成员变量,我们知道,class内部的成员函数可以访问class 内部变量。
因此如果函数func修改为void func(int x,int y) const{ i=x;j=y;}将会报错,因为他修改了内部数据的变量的值。报错信息如下:
1>d:\workspace\visual studio 2005\projects\funcconst\funcconst\funcconst.cpp(14) : error C2166: l-value specifies const object
1>d:\workspace\visual studio 2005\projects\funcconst\funcconst\funcconst.cpp(15) : error C2166: l-value specifies const object
 
函数print 就是用const修饰的。因此,任何不会修改数据成员的函数都应该声明为const 类型。
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值