是否可以从创建其创建的Main()之外的公共类成员访问公共类成员

Is it possible to access a Public Class Member from outside of the main() where it is created?

本文关键字:创建 成员 访问 是否 Main      更新时间:2023-10-16

我是C 的新手,今天我试图使访问Main((之外的公共类成员,更准确地在另一个功能中。

我试图创建指向该课程的指针,但我无法访问其成员。我将展示一个示例,其中有几行代码,任何帮助将不胜感激。

Class City
{
private:
    string name;
public:
    string getName()
    {
        return name; 
    }
};
bool isCity(string input)
{
    if(input== ???) { return true; } 
    return false; 
}

*问题:如何在询问标记中从main((中创建的类中访问公共成员getName((

int main()
{
    string input;
    City test;
    cin >> input;
    isCity(input);
    cin.get();
}

上课的指针不起作用,参考通行证也不起作用。

最简单的方法是让ISCITY一部分,并将其称为对象test.isCity(input);

的方法

课程应如下:

Class City
{
private:
    std::string name;
public:
    std::string getName() const
    {
        return name; 
    }
    bool isCity(const std::string& input) const
    {
        return input.compare(name) == 0
    }
};

否则您可以拥有一个免费的功能(在课堂之外(,但是签名应提供类city对象如下:

bool isCity(const City& c, const std::string& input)
{
    return input.compare(c.GetName()) == 0;
}

这意味着您必须将功能称为以下:

isCity(test, input);