面向对象程序设计问答题OOP5类


1. 什么是类?通常一个类中,包含什么样的内容?定义一个类的语法是什么,试举例说明。

  • 定义: 类是逻辑上相关的函数与数据的封装,描述了所创建对象共同的属性和方法。
  • 内容: 类中声明或定义的变量和函数称为成员,类的成员包括数据成员和成员函数/方法数据成员描述问题的属性成员函数/方法描述问题的行为
class Person{//class+类名
    public://访问控制
    //成员函数/方法
    void setAge( unsigned n );
    unsigned getAge( ) const;
    private://访问控制
    //数据成员
    unsigned age;
    protected://访问控制
    //...
};//此处有分号

2. 什么是对象?什么是类?类与对象的关系是什么?

  • 定义: 类是逻辑上相关的函数与数据的封装,描述了所创建对象共同的属性和方法,对象是类的某一特定实体,例如将整个公司的雇员看成一个类,那么每一个雇员就是该类的一个特定实体,也就是一个对象
  • 关系: 类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。

3. 类中的成员可以用public/protected/private分别进行修饰,这三种成员在什么情况下是可以被访问的?类中没有用public/protected/private修饰的成员,其可访问性是什么,结构体中没有用public/protected/private修饰的成员,其可访问性是什么?

  • $public$: 修饰的成员可以在任何地方被访问
  • $private$: 修饰的成员只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类对象也不能访问
  • protected: 修饰的成员可以被该类中函数子类函数友元函数访问;但不能被该类对象访问
  • 中没有用$public/protected/private$修饰的成员,其可访问性默认是$private$
  • 结构体中没有用$public/protected/private$修饰的成员,其可访问性默认是$public$

4. 什么是类作用域(Class scope)、文件作用域(file scope)、函数作用域(function scope)?

  • 类作用域: 类作用域是指类定义范围(包括类的声明部分和相应成员函数实现整个范围)。在该范围内,类的成员函数对数据成员有完全访问权限。

  • 文件作用域: 文件作用域也称全局作用域。定义在所有函数之外的标识符,具有文件作用域,作用域为从定义处到整个源文件结束。文件中定义的全局变量和函数都具有文件作用域。

  • 函数作用域: 函数中定义的变量,包括形参和函数体中定义的局部变量,作用域都在该函数内,也称为函数域,从函数开始和函数结束


文章作者: 保底不歪抽早柚
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 保底不歪抽早柚 !
评论
  目录