一、 const:
关键字,限定一个变量不可被修改
二、const的使用
2.1 定义const变量:初始化完成后,值不可被修改
2.2 const和指针
常量指针:不能通过指针修改指针所指向的变量的值。但是指针可以指向别的变量。
指向常量的指针(指针常量):指针常量的值不能被修改,即不能存一个新的地址,不能指向别的变量。但是可以通过指针修改它所指向的变量的值。
2.3 const和函数:const在函数中根据修饰位置分三种,
const int fun(const int a)const;
-
修饰返回值 const int fun();不能修改返回值。
-
修饰函数形参 int func(const int a);函数体内不能修改形参a的值。
-
修饰类的成员函数 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用法详解分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58766.html