<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 轉換運算符 ``` class Fraction{ public: Fraction(int n,int d=1): m_Numerator(n), m_Denominator(d){} // 轉 dobule operator double() const{ return (double)m_Numerator/m_Denominator; } // 轉 QString operator QString() const{ return QString("%1/%2").arg(m_Numerator).arg(m_Denominator); } private: int m_Numerator,m_Denominator; }; QTextStream& operator<<(QTextStream& os,const Fraction& f) { os<<"operator<<"<<static_cast<QString>(f); return os; } ``` 使用 ``` Fraction fra(4,3); double d=fra; QString str=fra; qDebug()<<d; //1.33333 qDebug()<<str;//"4/3" std::cout<<fra<<std::endl;//1.33333 ``` ## 下標運算符 - 許多列表和與數組相似的類都提供與數組一致的接口,但還具有更多的功能。 - 下標運算符 operator[]被限制成只使用一個參數。 - 它通常被用來提供對容器中某個元素的訪問 ``` class Vect{ public: explicit Vect(int n=10): m_size(n){ assert(n>0); m_p=new int[m_size]; } int& operator[](int i){ assert(i<m_size); return m_p[i]; } int ub(){ return m_size; } private: int* m_p; int m_size; }; ``` 使用 ``` Vect vect(5); for(int i=0;i<vect.ub();i++){ vect[i]=i*2; } qDebug()<<vect[2];//4 ``` ## 函數運算符 ``` class MyOp{ public: explicit MyOp(int size):m_size(size){ } // 重載括號 void operator()(QString msg){ qDebug()<<msg; } // 重載括號 void operator()(QString msg,QString who){ qDebug()<<who<<":"<<msg; } bool operator==(int num){ return m_size==num; } void operator=(int num){ m_size=num; } int size(){ return m_size; } private: int m_size; }; ``` 使用 ``` MyOp op(3); op("hello"); op("hello","cpj"); qDebug()<<(op==4); // fasle op=5; qDebug()<<op.size(); //5 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看