【问题标题】:Call protected function in main class [closed]在主类中调用受保护的函数[关闭]
【发布时间】:2020-06-12 18:24:34
【问题描述】:
    #include <iostream>

    using namespace std;

    class account
    {
    private:
    int accountNumber;
    string accountName;

    enter code here`protected:
    void setAccountNumber(int aNum);
    void setAccountName(string aName);

    public:
    account(int accNum, string accName);
    account();
    };

    void account::setAccountNumber(int aNum)
    {
    accountNumber = aNum;
    }

    void account::setAccountName(string aName)
    {
    accountName = aName;
    }

    account::account()
    {
    accountNumber = 0;
    accountName = "Null";
    accountBalance = 0.0;
    }

    account::account(int accNum, string accName)
    {
    accountNumber = accNum;
    accountName = accNum;
    accountBalance = 0.0;
    }

    int main()
    {
    account a1;
    a1.setAccountNumber(100001);
    a1.setAccountName("Zunain Shareef");

    return 0;
    }

这段代码有什么问题?我不能调用受保护的方法?我很新。

【问题讨论】:

  • 这就是它的目的。为什么不在您的教科书中查找术语protected,并研究结果页面?
  • “==========================================================的意思是什么?
  • @Klaus 很可能 OP 被告知他的帖子中有太多代码,需要添加更多非代码。 IE。它是在欺骗系统,试图强迫一些缺失的解释和细节。

标签: c++


【解决方案1】:

不,你不能。

方法上的受保护访问器意味着只有以下人员可以访问它:

  • 类本身
  • 继承自它的类
  • 另一个有友谊的班级

https://en.cppreference.com/w/cpp/language/access#Protected_member_access

【讨论】:

    猜你喜欢
    • 2012-06-04
    • 2014-11-03
    • 2016-03-26
    • 2017-12-12
    • 2012-08-28
    • 2015-07-18
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多