类私有成员的作用域问题。。
- C/C++ code
//以下是代码,在VS2005下运行通过#include<iostream>using namespace std;class A{private: char name; void priFun() {cout<<"执行私有函数! ";}public: A() {} A(char c) {name=c;} void pubFun(A a1) { cout<<"执行公有函数! "; a1.priFun(); //可以这样调用类的私有成员??!! cout<<a1.name; //可以这样调用类的私有成员??!! } };void main(){ A a('a'); A b('b'); a.pubFun(b); //参数为类A的类型 cout<<"\n"; /* 我知道执行a.priFun()会出错,不可以这样调用私有成员,但是为什么上述a1.priFun(),cout<<a1.name就可以?教科书上写私有成员只能在类内部用调用,外部无法访问的。麻烦各位大侠指教啊啊,,,我是个学生,起步阶段,知识浅薄。 */}[解决办法]