正在阅读:C++面向对象编程入门:类(class)C++面向对象编程入门:类(class)

2005-03-08 15:56 出处:PConline 作者:管宁 责任编辑:xietaoming


  例如上面的例子中的rp()成员函数,我们如果有如下定义:

test a;

  的话,调用rp()就应该写成:

a.rp();

  成员函数的调用和普通成员变量的调用方式一致都采用.的操作符。

  这一小节为了巩固联系我给出一个完整的例子。

  如下(重要和特殊的地方都有详细的注解):

#include <iostream
using namespace std; 
class test 

    private://私有成员类外不能够直接访问 
        int number; 
    public://共有成员类外能够直接访问 
        float socre; 
    public
        int rp() 
        { 
            return number; 
        } 
        void setnum(int a) 
        { 
            number=a; 
        } 
}; 
 
void main() 

    test a; 
    //a.number=10;//错误的,私有成员不能外部访问 
    a.socre=99.9f; 
    cout<<a.socre<<endl;//公有成员可以外部访问 
    a.setnum(100);//通过公有成员函数setnum()间接对私有成员number进行赋值操作 
    cout<<a.rp();//间接返回私有成员number的值 
    cin.get(); 
}

  好了,介绍了在类内部定义成员函数(方法)的方法,下面我们要介绍一下域区分符(::)的作用了。

  下面我们来看一个例子,利用这个例子中我们要说明两个重要问题:

#include <iostream
using namespace std; 
int pp=0; 
class test 

    private
        int number; 
    public
        float socre; 
        int pp; 
    public
        void rp(); 
}; 
void test::rp()//在外部利用域区分符定义test类的成员函数 

    ::pp=11;//变量名前加域区分符给全局变量pp赋值 
    pp=100;//设置结构体变量 

 
void main() 

    test a; 
         test b; 
    a.rp(); 
    cout<<pp<<endl; 
    cout<<a.pp<<endl; 
     
    cin.get(); 
}

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品