电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C++/VC>>c++面向对象的编程入门篇-----类(class)二:

c++面向对象的编程入门篇-----类(class)二

来源:远方网络 | 2006-1-6 | (有2016人读过)

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

test a;
的话,调用rp()就应该写成

a.rp();

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

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

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




//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者

#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();
}



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

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




//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者

#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();
}

C++/VC热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号