CH10 面向对象思想

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;

              }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值