首页 > 解决方案 > 在主类中调用保护函数

问题描述

    #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;
    }

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

标签: c++

解决方案


不,你不能。

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

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

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


推荐阅读