【问题标题】:Problems with public and private [closed]公共和私人的问题[关闭]
【发布时间】:2014-08-21 03:15:02
【问题描述】:

我刚开始编程,所以如果我现在说一些愚蠢的话,请不要太苛刻...... 我试图在 C++ 中制作的是一个表示图形的类。每个图都有它的节点列表,这是它自己的类。问题是我想将类“节点”的一些成员设为私有,因此它们将无法从例如 main 函数访问,但是,我想让它们在图形类中访问。类节点本身应该可以在类图之外访问。那么这可能吗?

【问题讨论】:

标签: c++ class private public


【解决方案1】:

假设您有一个类 Node 用于您的节点和一个类 Graph 用于您的图。 您可以将Graphfriend 设为Node 类,如下例所示:

#include <iostream>

class Node {
  friend class Graph;
  //...
  std::size_t id;
  public:
  Node(std::size_t const _id) : id(_id) {}
  //...
};

class Graph {
 //...
 public:
 Graph(Node const &node) { std::cout << "Look! I can access input node its id is " << node.id << std::endl; }
 //...
};

int main() {
  Node n(1);
  Graph G(n);
}

LIVE DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2013-02-02
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    相关资源
    最近更新 更多