次のように呼び出されるクラスがありserver
ますserver.h
。
class Server : public QTcpServer
{
Q_OBJECT
public:
Server(QHostAddress listenAddress, quint16 listenPort, QObject *parent = 0);
QHostAddress hostAddress;
quint16 hostPort;
protected:
void incomingConnection(qintptr socketDescriptor);
private:
};
そしてserver.cpp
次のように(部分的に):
Server(QHostAddress listenAddress, quint16 listenPort, QObject *parent = 0)
: hostAddress(listenAddress), hostPort(listenPort), QTcpServer(parent)
{
}
hostAddress
問題は、私が秘密にしておきたいということhostPort
です。ただし、クラス宣言でそれらをプライベートにすると、コンパイラーは、コンストラクターの初期化でこれらのプライベート メンバーを変更することは許可されていないと不平を言いました。なんで?コンストラクターは同じクラス内ではないので、プライベート変数を変更できるはずですか?