C++ - 类

作者: Mitchell | 来源:发表于2016-01-13 12:01 被阅读65次
    • 用法1:对象名.成员名
    r1.w = 5;
    r2.Init(3,4);
    
    • 用法2:指针->成员名
    CRegtangle r1 ,r2;
    CRegtangle * p1 = &r1;
    CRegtangle * p2 = &r2;
    p1->w = 5;
    p2->Init(3,4);
    
    • 用法3:引用名.成员名
    CRegtangle r2;
    CRegtangle & rr = r2;
    rr.w = 5;
    rr.Init(3,4);
    
    • 成员函数体和类的定义分开写
    class CRegtangle{
        public:
            int w,h;
            int Area();
            int Perimeter();
            void Init(int w_,int h_);
    };
    

    类的成员函数的另一种写法

    int Rectangle::Area(){
      return w*h;
    }
    int Rectangle::Perimeter()}
       return 2*(w+h);
    }
    void Rectangle::init(int w_,int h_){
    w = w_;h = h_;
    }
    
    • 类成员的可访问范围
      • private:制定私有成员,智能在成员函数内被访问
      • public:制定共有成员,可以在任何地方被访问
      • protected:制定保护成员
    • 缺省为私有成员
    class Man{
       int nAge;  //私有成员
      char szName[20];//私有成员
    public:
        void SetName(char * Name){
            strcpy(szName,Name);
        }
    }
    
    • 对象成员的访问权限
    • 类的成员函数内部,可以访问
      • 当前对象的全部属性,函数
      • 同类其他对象的全部属性,函数
    • 类的成员函数意外的地方
      • 只能够访问该类对象的共有成员
    class Employee{
      private:
    char szName[30];
    public:
    int salary;
    void setName(char * name);
    void setName(char * name);
    void averageSalary(Employee e1,Employee e2);
    };
    void CEmployee::setName(char *name){
      strcpy(szName,name);//ok
    }
    void Employee:getName(char * name){
      strcpy(name,szName);//ok
    }
    
    • 设置私有成员的母的:
      • 强制对成员变量的访问一定要通过成员函数进行
    • 设置私有成员的机制-- 隐藏

    相关文章

      网友评论

          本文标题:C++ - 类

          本文链接:https://www.haomeiwen.com/subject/gpyckttx.html