C++,私有的类成员函数怎么访问?
比如classtime{....private:voiddisplay();...};main(){..timetime1;time1.display()//可以这样访问...
比如
class time{
....
private: void display();
...
};
main()
{
..
time time1;
time1.display()//可以这样访问么? 展开
class time{
....
private: void display();
...
};
main()
{
..
time time1;
time1.display()//可以这样访问么? 展开
6个回答
展开全部
类的成员变量分三种: 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、类的成员函数可以访问类这三类
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的函数都可以通过
<对象>.<函数名>
的方式来调用
展开全部
当然不可以,只能在自己的成员函数中调用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以,私有成员函数只能被该类内部成员函数调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以通过友元函数实现
#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;
}
#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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以再声明一个公共函数,在此函数中调用私有的类成员函数。如:
public:
void func1(){display();}
void main()
{
...
time time1;
time1.func1();
...
}
public:
void func1(){display();}
void main()
{
...
time time1;
time1.func1();
...
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询