C++类头文件不暴露私有变量的一种写法

C++类头文件不暴露私有变量的一种写法,第1张

概述本文章向大家介绍C++类头文件不暴露私有变量的一种写法,主要包括C++类头文件不暴露私有变量的一种写法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在类的头文件中不暴露私有变量,目的一般有两个: 


1. 提供给别人的dll对应的头文件中,不希望在头文件中暴露私有变量的名称; 


2. 因为私有变量的类型需要包含另一个头文件,所以不希望在头文件中包含其它头文件;

一般可以用下面的方法来隐藏私有变量。 


TWebSocketServer.h


class TWebSocketServer

{

public:

TWebSocketServer();

~TWebSocketServer();

voID runServer(int port);

voID stopServer();

private:

class TWebSocketServerImpl;

TWebSocketServerImpl *ptr;

};

TWebSocketServer.cpp

#include

#include

class TWebSocketServer::TWebSocketServerImpl

{

public:

TWebSocketServerImpl(){}

~TWebSocketServerImpl()

{

stopServer();

}

voID runServer(int port)

{

// Set logging settings

echo_server.set_access_channels(websocketpp::log::alevel::all);

echo_server.clear_access_channels(websocketpp::log::alevel::frame_payload);

// Initialize Asio

echo_server.init_asio();

// Register our message handler

echo_server.set_message_handler(bind(&on_message,this,::_1,::_2));

// Listen on port 9002

echo_server.Listen(port);

// Start the server accept loop

echo_server.start_accept();

// Start the ASIO io_service run loop

echo_server.run();

}

voID stopServer()

{

echo_server.stop_Listening();

}

private:

// Create a server endpoint

//在 #include 不暴露在头文件中

server echo_server;

///////////////////////////////

TWebSocketServer::TWebSocketServer()

{

ptr = new TWebSocketServerImpl;

}

TWebSocketServer::~TWebSocketServer()

{

if(ptr)

{

delete ptr;

}

}

voID TWebSocketServer::runServer(int port)

{

ptr->runServer(port);

}

voID TWebSocketServer::stopServer()

{

ptr->stopServer();

}

--------------------- 


作者:阳光柠檬_ 


来源:CSDN 


原文:https://blog.csdn.net/liukang325/article/details/79172336 


版权声明:本文为博主原创文章,转载请附上博文链接!

总结

以上是内存溢出为你收集整理的C++类头文件不暴露私有变量的一种写法全部内容,希望文章能够帮你解决C++类头文件不暴露私有变量的一种写法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存