18、C++ 类的高级特性深入解析

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);

这样, <

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值