可以将对象的成员声明为const,包括常数据成员和常成员函数。
1. 常数据成员
其作用和用法与一般常变量相似,用关键字const来声明常数据成员。常数据成员的值是不能改变的。有一点要注意: 只能通过构造函数的参数初始化表对常数据成员进行初始化。如在类体中定义了常数据成员hour:
const int hour; &n
转载
2009-06-16 09:27:42
710阅读
常对象与常成员函数 C/C++ 1.常对象用const修饰的对象叫对象常量,其格式如下: 〈类名〉const〈对象名〉或者const〈类名〉〈对象名〉声明为常对象的同时必须被初始化,并从此不能改写对象的数据成员。例:分析下列错误的地方,说明理由;#include<iostream.h>class Point{ int x, y;public:Point(int a, int ...
转载
2022-01-12 16:20:01
276阅读
文章目录1.为什么需要将数据定义为只读的?2.常对象2.常数据成员3.常成员函数4.指向
原创
2023-03-09 09:33:23
159阅读
#ifndef _A_H_#define _A_H_#include <iostream>using namespace std;class A {public: vo
原创
2022-07-11 15:55:07
49阅读
源程序: #include <iostream> using namespace std; class ctest { private: int x; public: ctest(const int x) { this->x = x; } int getx() const //const必须写在函数
原创
2022-06-08 12:15:45
126阅读
#ifndef _A_H_#define _A_H_class A {public: A(); A(int a); const int i;};#endif#include "A.h"A::A():i(
原创
2022-07-11 15:55:01
96阅读
Java反射技术就是将java中的类的各个组成部分反射出来变为java中相应的数据类型获得。Java同样将类中的各个组成部分进行封装,变为一个个Java类。 Class 字节码类。其对象对应了Java中的字节码对象。其构造函数私有化。不能直接获得。可以通过以下方式获得。第一种方式:当该类字节码文件已被加载到内存中时。 Class &n
常对象成员 和 常成员函数 定义两个类: 坐标类:Coordinate 数据成员:横坐标m_iX、纵坐标m_iY 成员函数:构造函数、析构函数、数据封装函数 线段类:Line 数据成员:点A m_CoorA、点B m_CoorB 成员函数:构造函数、析构函数、数据封装函数、信息打印函数 源代码 #i ...
转载
2021-08-25 12:01:00
198阅读
版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/zhuyingqingfen/article/details/31751111 先明白几个概念:1. 常对象仅仅能调用常成员函数。2. 普通对象能够调用所有成员函数。3. 当对一个对象调用成员函数时,编
转载
2019-03-09 08:32:00
300阅读
2评论
常成员类的常成员分为常数据成员和常成员函数。“常”代表“只读”,也就是说一旦确立,一般情况下不会被改变。常数据成员常数据成员是只读变量,只能读取,不能修改。对于每个对象,常数据成员都是不可变的,但不同对象的常数据成员可以不同。在对其进行初始化的时候,要用到构造函数的初始化列表,而不能像其他变量一样,直接在构造函数内初始化。初始化列表在构造函数的()和{}之间,格式为:变量名(值)class Date{private: const int c; int b;public:
原创
2022-01-13 09:16:15
96阅读
使用 const关键字修饰的函数为常成员函数,常成员函数声明的格式如下:类型说明符 函数名(参数表) const;#incluoid Test::print
原创
2022-06-01 17:00:38
348阅读
#include <iostream>using namespace std;class Test {public: int x; int y; void const_m1() const; void const_m2() const; void m3(); void m4();};/** * //1常成员函数不能修改成员变量的值 * //2常成员函
原创
2022-01-12 16:09:42
141阅读
常数据成员通过初始化列表初始化,不可被修改#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Circle {public: Circle(double con_radius); double circumference();private: double m_fradi...
原创
2021-06-11 10:10:03
251阅读
常数据成员通过初始化列表初始化,不可被修改#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Circle {public: Circle(double con_radius);
原创
2022-03-02 11:11:46
185阅读
在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。
const成员变量
const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字。初始化 const 成员变量只有一种方法,就是通过构造函数的初始化列表,这点在前面已经讲到了,请猛击《C++初始化列表》回顾。
const成员函数(常成员函数)
转载
2020-01-09 14:54:00
1095阅读
2评论
1.常引用用const声明的引用就是常引用。常引用所引用的对象不能被更改。经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改。常引用的声明形式为:const 类型说明符 &引用名。常引用作为函数形参的例子如下: #include "iostream" using namespace std; // 常引用作为函数形参,保证了不会对实参的值进行误修改...
原创
2021-07-30 10:34:59
814阅读
常对象常对象必须在定义对象时就指定对象为常对象。常对象中的数据成员为常变量且必须要有初始值,如Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对象t1中的所有数据成员的值都不能被修改。凡希望保证数据成员不被改变的对象,可以声明为常对象。定义常对象的一般形式为类名 const 对象名(实参列表);也可以把const写在最左面const 类名 对象名(实参列表);二者等价如果一个对象被声明为常对象,则不能调用该对象的非const型的成员函数(除了由系统自动调用的隐式构造函数和析构函数)。否则就会报错 这样做是为了方式非const型的成员函数...
转载
2013-09-06 22:19:00
174阅读
2评论