C++ 类的高级特性深入解析
在 C++ 编程中,类是一个核心概念,它不仅是数据和函数的封装体,还能通过多种高级特性实现复杂的功能。本文将深入探讨 C++ 类的一些高级特性,包括类型转换、成员函数指针、成员初始化列表、转发构造函数、复制构造函数、静态函数、移动语义等,同时还会介绍友元类和嵌套类的使用。
1. 类型转换
1.1 转换为类类型
当构造函数只接受一个参数时,该参数类型的值可以隐式转换为类类型。例如:
class T
{
private:
int a;
public:
T() {}
T(int i) {a = i;}
void show() const {cout << a << '\n';}
};
int main()
{
T t;
t = 20;
t.show();
return 0;
}
在上述代码中,整数 20 被隐式转换为 T 对象。编译器使用 T(int) 构造函数创建一个临时 T 对象,并将 20 作为参数传递,然后将临时对象的成员复制到 t 中。
如果不想让构造函数作为转换函数,可以在其声明前加上 explicit 关键字:
explicit T(int a);
这样, <
超级会员免费看
订阅专栏 解锁全文
1453

被折叠的 条评论
为什么被折叠?



