这些c ++语法相当于什么?

时间:2013-05-19 11:34:34

标签: c++ oop boost

来自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))

3 个答案:

答案 0 :(得分:1)

在第一个示例中,冒号表示继承(在本例中是一个有助于从this创建共享指针的boost模板)

在最后两个例子中,冒号表示constructor initialization list.

的开头

请阅读a good book on C++

答案 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_connectionboost::enable_shared_from_this<tcp_connection>公开继承。

第二个和第三个是成员初始化列表的示例。成员初始化列表伴随构造函数并允许它初始化其成员。例如,在您的第二个示例中,通过将socket_传递给其构造函数来初始化io_service成员。