来自http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html 其中对类或类成员方法声明之外的方法或类进行调用:
class tcp_connection
: public boost::enable_shared_from_this<tcp_connection>
tcp_connection(boost::asio::io_service& io_service)
: socket_(io_service)
tcp_server(boost::asio::io_service& io_service)
: acceptor_(io_service, tcp::endpoint(tcp::v4(), 13))
答案 0 :(得分:1)
在第一个示例中,冒号表示继承(在本例中是一个有助于从this
创建共享指针的boost模板)
在最后两个例子中,冒号表示constructor initialization list.
的开头答案 1 :(得分:0)
这是继承:
class tcp_connection
: public boost::enable_shared_from_this<tcp_connection>
这是构造函数初始化列表(调用socket_
成员的构造函数):
tcp_connection(boost::asio::io_service& io_service)
: socket_(io_service)
答案 2 :(得分:0)
你正在确定两件不同的事情。第一个是继承的例子。它声明tcp_connection
从boost::enable_shared_from_this<tcp_connection>
公开继承。
第二个和第三个是成员初始化列表的示例。成员初始化列表伴随构造函数并允许它初始化其成员。例如,在您的第二个示例中,通过将socket_
传递给其构造函数来初始化io_service
成员。