构造函数里面的函数可不可以是private的

WYJBCB 2004-10-13 11:11:54
同上.我笨但我肯问,谢谢各位老大解答
...全文
279 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goonhl 2004-10-14
  • 打赏
  • 举报
回复

郁闷的构造函数和析构函数......
shadowstar 2004-10-13
  • 打赏
  • 举报
回复
构造函数里面调用的函数可以是这个类里的任何一个函数

构造函数和其它成员函数一样,对这个类内部来说都是可见的

private 只是对外不可见
Dong 2004-10-13
  • 打赏
  • 举报
回复
我知道有更好的方式,但我现在只能做到这样的。忘记怎样使用this去做了。


#include <stdio.h>
class A
{
private:
A(){};
public:
A* set()
{
return new A;
}
int i;
void f(){ printf("A class i %d\n",i); }
};
int main()
{
A *a;
a = a->set();
a->i = 5;
a->f();
return 0;
}
o1n 2004-10-13
  • 打赏
  • 举报
回复
可以.
如下例:
#include <iostream.h>
class test
{
public:
test()
{
ptest=0;

}
void display()
{
cout<<ptest;
}
private:
int ptest;
};

void main()
{
test a;
a.display();
}
o1n 2004-10-13
  • 打赏
  • 举报
回复
#include <iostream.h>
class test
{
public:
test()
{
ptest=0;
}
private:
int ptest;
};

void main()
{
test a;
cout<<a.ptest;
}


VC下编译提示:
'ptest' : cannot access private member declared in class 'test'
WYJBCB 2004-10-13
  • 打赏
  • 举报
回复
如果构造函数里面的函数是private的,那不是不能初始化private的成员函数吗?
双杯献酒 2004-10-13
  • 打赏
  • 举报
回复
做个程序试验一下不就知道了?!
sms88 2004-10-13
  • 打赏
  • 举报
回复
只要你的 构造函数是public的 就可以调用private的成员函数了

64,644

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧