繁体   English   中英

C ++私有函数成员

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM