搜索
您的当前位置:首页正文

C++ - 类

来源:二三娱乐
  • 用法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
}
  • 设置私有成员的母的:
    • 强制对成员变量的访问一定要通过成员函数进行
  • 设置私有成员的机制-- 隐藏
Top