OOP 2.1 类和对象的基本概念2

Posted fzu_Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OOP 2.1 类和对象的基本概念2相关的知识,希望对你有一定的参考价值。

1、成员函数的另一种写法:类的成员函数和类的定义分开写

  • e.g.

    class rectangle
    {
    public:
    int w,h;
    int area();
    int p();
    void init(int w_,int h_);
    };
    int rectangle::area(){
    return w*h;
    }
    int rectangle::p(){
    return 2*(w+h);
    }
    void rectangle::init(int w_,int h_){
    w=w_;h=h_;
    }
    //rectangle::说明后面的函数是rectangle类的成员函数,而不是普通函数。就一用要通过对象、对象的指针、对象的引用才能调用

2、类成员的可访问范围

  • 在类的定义中可以使用关键字说明类成员可被访问的范围,关键词可多次先后出现:
    • private:私有成员,只能在成员函数内访问
    • public:公有成员,可以在任何地方访问
    • protected:保护成员
  • 如果没有关键词,则缺省认为是私有的
  • 在类的成员函数内部,能访问:①当前对象的全部属性、函数 ②同类其他对象的全部属性、函数
  • 在成员函数以外的地方,只能够访问该类对象的公有成员
    e.g.

    class person
    {
    private:
    char szname[30];//私有 名字
    public:
    int salary;
    void setname(char *name);
    void getname(char *name);
    void average(person e1,person e2);
    };
    void person::setname(char *name)
    {strcpy(szname,name)};//OK
    void person::getname(char *name)
    {strcpy(name,szname);}//OK
    void person::average(person c1,person c2)
    {
    cout<<c1.szname;//OK 访问其他同类对象的私有成员
    cout<<(c1.salary +c2.salary)/2;
    }
    int main()
    {
    person e;
    strcpy(e.ezname,"Tom")//error 编译错 在成员函数以外的地方不能访问私有成员
    e.setname("Tom")//OK
    e.salary=5000;//OK
    return 0;
    }

以上是关于OOP 2.1 类和对象的基本概念2的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象:面向对象(OOP)基本概念类和对象基础语法封装案例私有属性和私有方法

OOP 1.5 类和对象的基本概念与用法1

OOP类和对象

跟着我学Python然后new一个对象,类和对象的基本概念以及练习题

PHP面向对象(OOP)编程入门教程2.什么是类,什么是对象,类和对象之间的关系

PHP面向对象(OOP)编程入门教程2.什么是类,什么是对象,类和对象之间的关系