C++ 构造函数和析构函数的问题?
麻烦帮我解释一下这样的构造函数Grabber():signals_(),connections_(),shared_connections_(){}和这样的析构函数vir...
麻烦帮我解释一下
这样的构造函数
Grabber () : signals_ (), connections_ (), shared_connections_ () {}
和这样的析构函数
virtual inline ~Grabber () throw ();
是什么意思啊? 展开
这样的构造函数
Grabber () : signals_ (), connections_ (), shared_connections_ () {}
和这样的析构函数
virtual inline ~Grabber () throw ();
是什么意思啊? 展开
1个回答
展开全部
构造函数的:之后可以放父类构造的调用及成员对象的初始化操作。
Grabber () : signals_ (), connections_ (), shared_connections_ () {}
就是调用了signals_ , connections_ , shared_connections_ 这三个父类的构造
virtual inline ~Grabber () throw ();
就是将析构定义成虚函数并且内联实现
Grabber () : signals_ (), connections_ (), shared_connections_ () {}
就是调用了signals_ , connections_ , shared_connections_ 这三个父类的构造
virtual inline ~Grabber () throw ();
就是将析构定义成虚函数并且内联实现
更多追问追答
追问
类的构造函数定义的时候,可以用成员初始化列表
比如
foo(string s, int i):name(s), id(i){} ;
也可以是父类的构造函数
RatedPlayer::RatedPlayer(.......):TableTennisPlayer()
请问一下,你是如何判断它是父类的构造函数呢?
父类的构造函数,不是只有一个吗?
追答
虽然不提倡但c++是可以多重继承的,这样就会存在复数个基类。
区分调用构造还是初始化成员主要靠()里的参数(初始值),另c++构造基类必须是显式调用
就是写明类名,只要不把成员变量定义成和基类同名一般就没问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询