友元函数,对象指针,运算符重载

定义字符串类string,含有私有数据成员指针p,定义公有数据成员有参及无参构造函数、显示输出字符串函数display,声明友元函数重载运算符“>”,如果string1>string2则返回值为true否则返回false。主函数定义两个字符串,输出比较后的值。字符串初值及运行效果如下

img

代码:

#include <QCoreApplication>
#include <string>
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

class String
{
public:
    String(string s)
    {
        m_s=s;
    }
    String()
    {

    }
    void SetString(string s)
    {
        m_s=s;
    }
    void Display()
    {
        cout<<m_s<<endl;
    }
    bool operator <(String s1)
    {
        return m_s.size()<s1.m_s.size();
    }

private:
    string m_s;
};



int main()
{
    String s1("Hello");
    String s2("Book");
    s1.Display();
    s2.Display();
    bool isb=s1<s2;  //s1的大小为5 s2的大小为4 所以返回0
    cout<<isb<<endl;

    return 0;
}

img