讨论作用域的数值作用范围
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int x=5,y=7;
void myFunction(){
int y=10;
cout<<"x from myFunction:"<<x<<"\n";
cout<<"y from myFunction:"<<y<<"\n\n";
}
int main(int argc, char** argv) {
cout<<"x from main:"<<x<<"\n";
cout<<"y from main:"<<y<<"\n\n";
myFunction();
cout<<"Back from myFunction!\n\n";
cout<<"x from main:"<<x<<"\n";
cout<<"y from main:"<<y<<"\n";
return 0;
}
友元类
当一个类作为另一个类的友元时,就意味着这个类的所有成员函数都是另一个类的友元函数
将一个函数声明为一个类的友元函数后,它不但可以通过对象名访问类的公有成员,而且可以通过对象名访问类的私有成员和保护成员
访问对象中的成员必须通过对象名
友元函数近似于普通的函数,它不带有this指针, 因此必须将对象名或对象的引用作为友元函数的参数,这样才能访问到对象的成员。
友元函数可以访问该类中的所有成员(公有的、私有的和保护的) ,而一般函数只能访问类中的公有成员
class fuel;
class engine;
{
friend class fuel;
private;
int powerlevel;
public;
engine(){poeerlevel=0;}
void engine_fn(fuel &f);
};
class fuel{
friend class engine;//友元声明
private;
int fuellevel;
public:
fuel(){fuellevel=0;
}
void fuel_fn(engine &e);
};