有没有办法在c ++中迭代优先级队列?我的理解是它们或多或少是不可变的,容器的唯一操作是顶层元素.我希望能够打印出优先级队列的内容,但不确定如何解决问题.
在开发我最近的项目时,我发现了一些破坏封装和可见性规则的东西,因为我理解它们.
在我的GUI类中,我为我的应用程序中的文本字段和按钮创建了几个类变量,并将它们全部设置为私有.我还为按钮和文本字段设置了getters,返回私有成员的值.在我的SqlStatements课程中,我引用getter,然后setText()在getter上调用方法,它会更改私有成员字段的值.这怎么可能?
例如:
public class InitGUI {
public static JTextField getfNameField() { <---- getter for JTextField
return fName;
}
private static JTextField fName; <---- JTextField variable.
}
public class SqlStatements {
// how is this able to change the value of a private member?
InitGUI.getmNameField().setText("");
}
Run Code Online (Sandbox Code Playgroud)