c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界。
*/
#include <iostream>
#include <string>
using  namespace  std;
class  check
{
public :
     check( char *s)
     {
         str= new  char [ strlen (s)+1];
         strcpy (str,s);
         len= strlen (s);
     }
     char  operator[]( int  n)
     {
         if (n>len-1)
         {
             cout<< "数组下标越界" <<endl;
             return  ' ' ;
         }
         else
         {
             cout<< "数组下标没有越界" <<endl;
             return  *(str+n);
         }
     }
     void  Print(){cout<<str<<endl;}
private :
     char  *str;
     int  len;
};
 
void  main()
{
     check array( "GoodMorning" ); //类的构造函数
     array.Print();
     cout<< "Location 0:" <<array[0]<<endl; //判断下标为0是否越界
     cout<< "Location 20:" <<array[20]<<endl; //判断下标为20是否越界
}
相关文章
|
4天前
|
存储 编译器 C语言
c++的学习之路:5、类和对象(1)
c++的学习之路:5、类和对象(1)
19 0
|
24天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
4天前
|
C++
c++的学习之路:7、类和对象(3)
c++的学习之路:7、类和对象(3)
19 0
|
3天前
|
设计模式 Java C++
【C++高阶(八)】单例模式&特殊类的设计
【C++高阶(八)】单例模式&特殊类的设计
|
3天前
|
存储 人工智能 C++
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
25 1
|
3天前
|
编译器 C++
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
|
7天前
|
存储 安全 C语言
【C++】string类
【C++】string类
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
9天前
|
编译器 C++
标准库中的string类(上)——“C++”
标准库中的string类(上)——“C++”
|
9天前
|
编译器 C++
自从学了C++之后,小雅兰就有对象了!!!(类与对象)(中)——“C++”
自从学了C++之后,小雅兰就有对象了!!!(类与对象)(中)——“C++”