zoukankan      html  css  js  c++  java
  • 类成员函数[转]

    类成员函数

    除了static数据成员,类还可以有static成员函数。静态成员函数只能访问其他的static成员,包括数据成员和成员函数。

    例3-38

     

    本例声明了一个内联的static成员函数getN。在例3-35中,我们知道对象和非静态成员函数(包括构造函数和析构函数)可以访问像n这样的static数据成员。在本例中,我们看到static成员函数也可以访问static数据成员。它们的差别是,非static成员函数既可以访问static数据成员,也可以访问非static数据成员;而static成员函数只能访问static成员。因此,以下代码包含了两个错误:

     

    static成员函数getN只能访问static数据成员和static成员函数,而setST和st都是非static。像其他的成员函数一样,static成员函数既可以是inline函数,也可以是非inline函数。

    假设类C拥有一个static数据成员sVar和一个static成员函数sMeth,它们都是公有的,如下所示:

     

    有两种不同方式来访问类的static成员,我们既可以通过C的对象来访问,也可以直接通过类C来访问。

    例3-39

    本例展示了两种访问static成员的不同办法。当然,这样做违反了数据成员的信息隐藏原则,我们将sVar设为public仅仅是为了说明访问静态成员的语法。

    访问static成员的首选方法是通过类直接访问。static成员毕竟是与类本身相关联,而不是与类的对象相关联。

    我们作如下假定:

    对象c属于类C。

    成员函数om是C的非static成员函数。

    成员函数cm是C的static成员函数。

    那么,静态成员函数与非静态成员函数的区别如表3-2所示。

    表3-2   类成员函数与对象成员函数的比较

     
  • 相关阅读:
    任务总结四
    任务总结三
    任务总结二
    【大道至简】读后感
    人月神话
    12-13 库存信息管理系统
    12-9java web 数据库增删改查
    11-15课堂测试
    11-10关于java项目的异常处理
    11-10 动手动脑
  • 原文地址:https://www.cnblogs.com/MATU/p/3819695.html
Copyright © 2011-2022 走看看