常成员、常对象

    xiaoxiao2026-08-23  4

    class CA { public: CA(); ~CA(); //void SetNum(int nNum); //int GetNum(); void Func(); void SetNum(int nNum) const; int GetNum() const; private: int m_nNum; const int m_sNum; }; CA::CA():m_sNum(0) //常成员必须在构造函数的初始化列表中初始化 { m_nNum = 0; } CA::~CA() { } /*void CA::SetNum(int nNum) { m_nNum = nNum; //m_sNum = nNum; 常成员的值不可修改 } int CA::GetNum() { m_nNum++; return m_nNum; }*/ void CA::SetNum(int nNum) const { //m_nNum = nNum; 常成员函数中不可有值的修改 } int CA::GetNum() const { //Func(); 常成员函数不能调用非常成员 return m_nNum; } void CA::Func() { } int main(int argc, char* argv[]) { CA obj; obj.Func(); //非常对象能够调用非常成员 obj.GetNum(); //非常对象能够调用常成员 const CA obj1; //obj1.Func(); 常对象不能够调用非常成员 obj1.GetNum();//常对象只能调用常成员 return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1311494.html
    最新回复(0)