[英]C++ private function member
我了解到,如果我在没有访问修饰符的类中声明数据成员或函数成员,则编译器会将它们视为私有成员,现在我有了一个名为showNum
的简单类,当我运行程序时,它给我的值与输入的值不同! 那是因为set_value
函数是私有的,并且无法从对象num1
访问,这就是为什么它给我另一个值的原因?
showNum
类和main
函数的代码为:
class showNum
{
int a;
void set_value(int num)
{
num=5;
a=num;
}
public:
void show_value()
{cout<<a;}
};
void main()
{
showNum num1;
num1.show_value();
}
您永远不会调用set_value(),因此在调用show_value()时您的成员a
未初始化,因此a
将是未定义的
您可以这样:
class showNum
{
int a;
public: //change hear
void set_value(int num)
{
//change hear
a=num;
}
void show_value()
{cout<<a;}
};
main()
{
showNum num1;
num1.set_value(5);//change hear
num1.show_value();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.