const 详解_const用法详解

const 详解_const用法详解一、const:关键字,限定一个变量不可被修改二、const的使用2.1定义const变量:初始化完成后,值不可被修改2.2const和指针常量指针:不能通过指针修改指针所指向的变量的值。但是指针可以指向别的变量。指向常量的指针(指针常量):指针常量的值不能被修改,即不能存一个新的地址,不能指向别的变量。但是可以通过指针修改它所指向的变量的值。2…._const

一、 const:

关键字,限定一个变量不可被修改

二、const的使用

2.1 定义const变量:初始化完成后,值不可被修改

const 详解_const用法详解

2.2 const和指针

常量指针:不能通过指针修改指针所指向的变量的值。但是指针可以指向别的变量。

const 详解_const用法详解

指向常量的指针(指针常量):指针常量的值不能被修改,即不能存一个新的地址,不能指向别的变量。但是可以通过指针修改它所指向的变量的值。 

const 详解_const用法详解

 2.3 const和函数:const在函数中根据修饰位置分三种,

const int fun(const int a)const;
  • 修饰返回值 const int fun();不能修改返回值。

  • 修饰函数形参 int func(const int a);函数体内不能修改形参a的值。

const 详解_const用法详解

  • 修饰类的成员函数 int func() const函数体内不能修改成员变量的值,增加程序的健壮性或鲁棒性。只有成员函数才可以在后面加const,普通函数后加const无意义。

eg 2.1:const 成员函数

#ifndef Point_h
#define Point_h

#include<iostream>
using namespace std;

class Point
{
public:
	Point(float a=0,float b=0);
	float get_x() const;
	float get_y() const;
	void move(float a,float b);//偏移量
	void print() const;//成员函数

private:
	float x;
	float y;//一个点有x坐标和y坐标
};
#endif  /* Point_h */
#include"Point.h"

Point::Point(float a,float b):x(a),y(b)
{
}

float Point::get_x () const
{
	return x;
}

float Point::get_y () const
{
	return y;
}

//偏移量
void Point::move(float a,float b)
{
	x+=a;
	y+=b;;
}

void Point::print () const
{
	cout<<"("<<x<<","<<y<<")";
}
/* Point.c"

 2.4 const 对象const Point p;

eg 2.1 中加入以下的主函数代码:

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

int main(int argc,const char* argv[])
{
	const Point p;
	p.print();//正确
	//p.move(1,1)//错误
	return 0;
}

总结:

const 对象只能调用const成员函数不能调用普通成员函数;

而普通对象既可以调用const成员函数也可以调用普通成员函数。

const 详解_const用法详解

const 详解_const用法详解

 

今天的文章const 详解_const用法详解分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58766.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注