理解构造函数中的冒号语法
在 C 中,构造函数是在创建时初始化对象的函数。虽然构造函数名称通常与类名称匹配,但它们可以具有独特的初始化语法。构造函数语法的一个值得注意的方面是使用冒号 (:) 后跟参数列表。
此语法称为成员初始值设定项列表,有两个主要用途:
例如,考虑以下代码:
class demo { private: unsigned char len, *dat; public: demo(unsigned char le = 5, unsigned char default) : len(le) { dat = new char[len]; for (int i = 0; i <= le; i++) dat[i] = default; } void ~demo(void) { delete [] *dat; } };
在此示例中,构造函数有两个参数,le 和default。成员初始值设定项列表 : len(le) 将 le 的值分配给 len 数据成员。
此外,在派生类 newdemo 中:
class newdemo : public demo { private: int *dat1; public: newdemo(void) : demo(0, 0) { *dat1 = 0; return 0; } };
成员初始值设定项列表 : demo( 0, 0) 使用参数 0 和 0 调用基类构造函数 demo,初始化基类的 len 和默认数据成员class.
成员初始值设定项列表是初始化数据成员和调用基类构造函数的便捷高效方法,可增强代码的安全性和清晰度。
以上是C 构造函数中的冒号 (:) 语法如何用于成员初始化和基类调用?的详细内容。更多信息请关注PHP中文网其他相关文章!