C++,私有的类成员函数怎么访问?

比如
class time{
....
private: void display();
...
};
main()
{
..
time time1;
time1.display()//可以这样访问么?

类的成员变量分三种: public protect private

1、类的成员函数可以访问类这三类
2、继承类成员函数可以访问 protect 类型
3、只有本身类的成员函数才可以访问 private 类型

4、类的对象若在其他函数中是不可以访问类的 protect private类型变量

类其实是个模型。
而对象就是找个这个模型制作的实体。
比如,类是造车的图纸,对象就是找个图纸造出的汽车。
类的成员是分级别的:protect,public,private。
在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:
class D
{
private:
int a;
public:
int Getint(){return a;}
......
}
这里你的对象不能调用a的,
也就是不能
int b;
D d;//假设已经写好了构造函数
b=d.a;//这是错误的,
但是你可以
b=d.Getint();
这样就可以把a的值给b了。
所有的public的函数都可以通过
<对象>.<函数名>
的方式来调用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-09
当然不可以,只能在自己的成员函数中调用本回答被提问者采纳
第2个回答  2007-08-09
不可以,私有成员函数只能被该类内部成员函数调用。
第3个回答  推荐于2018-02-27
可以通过友元函数实现
#include<iostream>
using namespace std;

class test
{
public:
test(){}
~test(){}
private:

void Display(){cout<<"test"<<endl;}
friend void display(test&);
};
void display(test& t)
{
t.Display();
}
int main(void)
{
test t;
display(t);
return 0;
}本回答被网友采纳
第4个回答  2007-08-09
可以再声明一个公共函数,在此函数中调用私有的类成员函数。如:
public:
void func1(){display();}
void main()
{
...
time time1;
time1.func1();

...
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网