CH10 面向对象思想

    xiaoxiao2021-12-14  19

    1.使用string类来处理字符串

        C++中的string类定义了string类型,它包含了很多有用的函数,可以方便操作字符串。

        头文件是:  #include<string>

       构造一个字符串:

                                    string s("Welcome to C++");

                                    string s(s1);

       追加字符串:

                                    s1.append(" to C++");

          

        s1.at(3);          返回下标处的字符

        s1.clear();       清除当前字符串的所有字符

        s1.erase(2,3);   删除当前字符串下标2开始的3个字符(包括2)

        s1.empty();        是否为空?空返true

        s1.length();        长度,字符个数

        s1.size();             大小(与length相同)

        s1.capacity();     分配的存储空间大小

        s1.compare(s2);   s1与s2比较,>大于0的值、=返回0、<小于0的值

        s1.substr(0,1);       返回从0开始的1个字符组成的字串

        s1.substr(3);           返回从3开始的所有字串

        s1.find("ch");          字符串ch出现的第一个位置的下标     //如果没有找到,返回string::npos(表示not a position),npos是string类定义的一个常量

        s1.find("o",6);         从下标6开始出现o的第一个位置下标

        s1.insert(2,"and");    在s1的下标2处插入and

        s1.insert(1,4,'B');      在s1下标1处插入4个B字符

        s1.replace(11,4,"C++");   替换s1从下标11开始的4个字符,变为C++             

    string s1="ABC";

    string s2=s1;   //将s1的内容复制到s2

    2.把数字转换成字符串

       使用<sstream>头文件中的stringstream类。

        

    stringstream ss; ss<<3.14159; string s=ss.str;判断字符串是否为空:!ss.eof()

    3.关于string& s和const string& s

       const:常量,字符串字面值

       const string&:C++规定普通引用不允许指向临时变量,只有常引用可以

       string&:常引用

       虽然对象参数的传递方式采用传值、传引用都可以,但最好使用传引用,因为传值需要额外的时间和内存空间。

      const 修饰成员变量:

    const修饰指针变量时:

      (1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。

      (2)只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以通过解引用修改。

      (3)两个const,*左右各一个,表示指针和指针所指数据都不能修改。

    4.对象数组

    5.实例成员和静态成员(Instance and Static Members)

       静态变量由类中的所有对象共享;静态函数不能访问类的实例成员。

       为了声明一个静态变量或静态函数,需在变量或函数声明前放置修饰符static

       静态数据域初始化:

     int Circle::numberofObjects=0;

       通过类名来访问静态成员,如Circle::

    6.UML符号

       +:共有变量或函数

       —:私有变量或函数

       下划线:静态变量或函数

    7.只读成员函数(给函数参数/成员函数加上关键字const

       声明:double getArea() const;

                double getRadius() const;

       实现:double Circle::getArea() const

                {

                     return radius*radius*3.14159;

                 }

                 double Circle::getRadius() const

                 {

                     return radius;

                  }

    转载请注明原文地址: https://ju.6miu.com/read-968427.html

    最新回复(0)