常类åæ¯æ使ç¨ç±»å修饰符const说æçç±»åï¼å¸¸ç±»åçåéæ对象çå¼æ¯ä¸è½è¢«æ´æ°çãå æ¤ï¼å®ä¹æ说æ常类åæ¶å¿
é¡»è¿è¡åå§åã
ããä¸è¬å¸¸éå对象常é
ãã1. ä¸è¬å¸¸é
ããä¸è¬å¸¸éæ¯æç®åç±»åç常éãè¿ç§å¸¸éå¨å®ä¹æ¶ï¼ä¿®é¥°ç¬¦constå¯ä»¥ç¨å¨ç±»å说æ符åï¼ä¹å¯ä»¥ç¨å¨ç±»å说æ符åãå¦ï¼
ããint const x=2;
ããæ
ããconst int x=2;
ããå®ä¹æ说æä¸ä¸ªå¸¸æ°ç»å¯éç¨å¦ä¸æ ¼å¼ï¼
ãã<ç±»å说æ符> const <æ°ç»å>[<大å°>]â¦
ããæè
ããconst <ç±»å说æ符> <æ°ç»å>[<大å°>]â¦
ããä¾å¦ï¼
ããint const a[5]={1, 2, 3, 4, 5};
ãã2. 常对象
ãã常对象æ¯æ对象常éï¼å®ä¹æ ¼å¼å¦ä¸ï¼
ãã<ç±»å> const <对象å>
ããæè
ããconst <ç±»å> <对象å>
ããå®ä¹å¸¸å¯¹è±¡æ¶ï¼åæ ·è¦è¿è¡åå§åï¼å¹¶ä¸è¯¥å¯¹è±¡ä¸è½å被æ´æ°ï¼ä¿®é¥°ç¬¦constå¯ä»¥æ¾å¨ç±»ååé¢ï¼ä¹å¯ä»¥æ¾å¨ç±»ååé¢ã
ãã常æéå常å¼ç¨
ãã1. 常æé
ãã使ç¨const修饰æéæ¶ï¼ç±äºconstçä½ç½®ä¸åï¼èå«æä¸åãä¸é¢ä¸¾ä¸¤ä¸ªä¾åï¼è¯´æå®ä»¬çåºå«ã
ããä¸é¢å®ä¹çä¸ä¸ªæåå符串ç常éæéï¼
ããchar * const prt1 = stringprt1;
ããå
¶ä¸ï¼ptr1æ¯ä¸ä¸ªå¸¸éæéãå æ¤ï¼ä¸é¢èµå¼æ¯éæ³çã
ããptr1 = stringprt2;
ããèä¸é¢çèµå¼æ¯åæ³çï¼
ãã*ptr1 = "m";
ããå 为æéptr1ææåçåéæ¯å¯ä»¥æ´æ°çï¼ä¸å¯æ´æ°çæ¯å¸¸éæéptr1ææçæ¹å(å«çå符串)ã
ããä¸é¢å®ä¹äºä¸ä¸ªæåå符串常éçæéï¼
ããconst * ptr2 = stringprt1;
ããå
¶ä¸ï¼ptr2æ¯ä¸ä¸ªæåå符串常éçæéãptr2ææåçå符串ä¸è½æ´æ°çï¼èptr2æ¯å¯ä»¥æ´æ°çãå æ¤ï¼
ãã*ptr2 = "x";
ããæ¯éæ³çï¼èï¼
ããptr2 = stringptr2;
ããæ¯åæ³çã
ããæ以ï¼å¨ä½¿ç¨const修饰æéæ¶ï¼åºè¯¥æ³¨æconstçä½ç½®ãå®ä¹ä¸ä¸ªæåå符串çæé常éåå®ä¹ä¸ä¸ªæåå符串常éçæéæ¶ï¼const修饰符çä½ç½®ä¸åï¼åè
constæ¾å¨*åæéåä¹é´ï¼åè
constæ¾å¨ç±»å说æ符åã
ãã2. 常å¼ç¨
ãã使ç¨const修饰符ä¹å¯ä»¥è¯´æå¼ç¨ï¼è¢«è¯´æçå¼ç¨ä¸ºå¸¸å¼ç¨ï¼è¯¥å¼ç¨æå¼ç¨ç对象ä¸è½è¢«æ´æ°ãå
¶å®ä¹æ ¼å¼å¦ä¸ï¼
ããconst <ç±»å说æ符> & <å¼ç¨å>
ããä¾å¦ï¼
ããconst double & v;
ããå¨å®é
åºç¨ä¸ï¼å¸¸æéå常å¼ç¨å¾å¾ç¨æ¥ä½å½æ°çå½¢åï¼è¿æ ·çåæ°ç§°ä¸ºå¸¸åæ°ã
ããå¨C++é¢å对象çç¨åºè®¾è®¡ä¸ï¼æéåå¼ç¨ä½¿ç¨å¾è¾å¤ï¼å
¶ä¸ä½¿ç¨const修饰ç常æéå常å¼ç¨ç¨å¾æ´å¤ã使ç¨å¸¸åæ°å表æ该å½æ°ä¸ä¼æ´æ°æ个åæ°ææåææå¼ç¨ç对象ï¼è¿æ ·ï¼å¨åæ°ä¼ éè¿ç¨ä¸å°±ä¸éè¦æ§è¡æ·è´åå§åæé å½æ°ï¼è¿å°ä¼æ¹åç¨åºçè¿è¡æçã
ããä¸é¢ä¸¾ä¸ä¾å说æ常æéä½å½æ°åæ°çä½æ³ã
ãã#include
ããconst int N = 6;
ããvoid print(const int *p, int n);
ããvoid main()
ãã{
ããint array[N];
ããfor (int i=0; i cin>>array[i];
ããprint(array, N);
ãã}
ããvoid print(const int *p, int n)
ãã{
ããcout<<"{"<<*p;
ããfor (int i=1; i cout<<","<<*(p+i);
ããcout<<"}"< }
ãã常æåå½æ°
ãã使ç¨constå
³é®åè¿è¡è¯´æçæåå½æ°ï¼ç§°ä¸ºå¸¸æåå½æ°ãåªæ常æåå½æ°ææèµæ ¼æä½å¸¸éæ常对象ï¼æ²¡æ使ç¨constå
³é®å说æçæåå½æ°ä¸è½ç¨æ¥æä½å¸¸å¯¹è±¡ã常æåå½æ°è¯´ææ ¼å¼å¦ä¸ï¼
ãã<ç±»å说æ符> <å½æ°å> (<åæ°è¡¨>) constï¼
ããå
¶ä¸ï¼constæ¯å å¨å½æ°è¯´æåé¢çç±»å修饰符ï¼å®æ¯å½æ°ç±»åçä¸ä¸ªç»æé¨åï¼å æ¤ï¼å¨å½æ°å®ç°é¨åä¹è¦å¸¦constå
³é®åãä¸é¢ä¸¾ä¸ä¾å说æ常æåå½æ°çç¹å¾ã
ãã#include
ããclass R
ãã{
ããpublic:
ããR(int r1, int r2) { R1=r1; R2=r2; }
ããvoid print();
ããvoid print() const;
ããprivate:
ããint R1, R2;
ãã};
ããvoid R::print()
ãã{
ããcout< }
ããvoid R::print() const
ãã{
ããcout< }
ããvoid main()
ãã{
ããR a(5, 4);
ããa.print();
ããconst R b(20, 52);
ããb.print();
ãã}
温馨提示:内容为网友见解,仅供参考
c++中常类型有几种?如何定义它们?
2. 常引用 使用const修饰符也可以说明引用,被说明的引用为常引用,该引用所引用的对象不能被更新。其定义格式如下:const <类型说明符> & <引用名> 例如:const double & v;在实际应用中,常指针和常引用往往用来作函数的形参,这样的参数称为常参数。在C++面向对象的程序设计中,指针和引用使用得...
c++中有哪些类类型
声明标准数据类型的变(常)量时用的是关键字(int,char,signed等),声明以C++提供的类为类型的变(常)量时用的不是关键字(string,vector等),输入流和输出流这两个类只等使用cin和cout,不能自己另外声明。除此之外还可以自定义结构(struct)、枚举(enum)、联合(union)和类型定义 (type...
c++的变量类型的数值范围(常用)
在C++中,变量的类型对其数值范围有着直接的影响。以下是关于常见变量类型的一些关键信息:1. 基本类型及其范围:- 整型(如int, short, char): 取值范围根据所占位数不同,如int通常占用4个字节,其取值范围一般在-2,147,483,648到2,147,483,647之间。输入和输出通常使用符号如%d或%i。- 浮点型...
c++中常见的单词的意思及其作用是什么?
\\x0d\\x0abool,不二类型,也就是真和假,有人喜欢写作布尔类型,我觉得不二比较形象,不是0就是1,不是2...\\x0d\\x0abreak,用于循环的结尾,switch...case:的结尾,表示循环或者分支被打断\\x0d\\x0acase,与switch配合使用,表示一个分支\\x0d\\x0achar,字符类型,表示一个字符\\x0d\\x0a...
在C++编程中常常有int main()和void main(),大家能不能举人实际的例子解...
main 是主函数 跟其他的函数一样.函数必须可以返回值也可以不返回,返回什么类型就在函数前写什么类型 如果这么函数没有返回值定义函数的时候就写 void, main是主函数,可以返回也可以不返回,如果返回了一般都是0,就是没有错误,如果有错误可以返回其他值 int main(){ cout<<"hello""<<endl;return 0...
青少年编程科普—C++数据类型取值范围解析
编程学习中,数据类型的选择至关重要。本文将解析C++常见数据类型的取值范围,帮助青少年编程爱好者更深入理解。一、整型(Integer Types)整型数据用于存储整数,包括int、short、long等。在大多数现代编译器和平台上,int通常为32位,其取值范围为-2147483648至2147483647(-2147483648至2147483647)。unsigned ...
C++中经常用到的单词和对应的翻译
寄存器变量 return 返回 short 短整型 signed sizeof 测试结构长度 static 静态变量 struct 结构体 switch 分支结构 typedef 类型代换 union 共用体 unsigned 无符号整数 void 空 volatile 变量不被编译器优化 while 循环标记 ...
C++中False与True 如何定义
对于C语言,并不存在系统自带的bool类型和False和Ture的定义,如果要使用则必须自定义类型。有两种常见的方法。1、使用宏定义。通过define来进行定义False和True。可以采用如下方式:(1) 直接定义数值 define False 0 define True 1 (2) 通过逻辑判断定义 define False (1!=1)define True (1==1)2...
C++ 类的各种公开、私有、保护成员定义的实际意义?
3、保护成员,C++一个很重要的特性是实现继承,也叫做派生,派生一词最早出现于亚理士多德的《工具论》,中国古代的诸子百家中有一家叫做名家,著名的白马非马的故事就是出自于此,派生的概念类似于马和白马的关系。用数学集合的观点来看,马是一个集合,白马是马的子集,派生实际上实现的就是这种子集...
常用的字段类型有哪些?各自有何特征?
字段在C++中的定义:一个成员,它表示与对象或类关联的变量。字段类型 不同的字段类型用来存放不同类型的数据。创建和使用表时,更你应该理解五种常用的字段类型:字符型,文本型,数值型,逻辑性和日期型。字符型数据 字符型数据非常有用。当你需要存储短的字符串信息时,你总是要用到字符型数据。