跟我学C++中级篇——委托构造和继承构造

本文探讨了C++中如何通过委托构造函数和继承构造函数来减少基础构造函数中的重复代码,以及这些技术如何提高代码的可读性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、介绍

学习C++的开发者都知道,在C++的类定义中,传统的会有常见的六个默认和构造相关的函数(不明白的可以去查一下资料)。但在实际情况中,经常会遇到一些具体的开发场景,只用这几个函数可能还是会导致重复代码的出现。开发者在学习编程之初,估计都会有人不断告诉你,只要有重复代码,就有优化的可能性。
但是,如果代码的重复到了最基础的阶段,开发者一般就无能为力了,即使使用了一些特殊的技巧,也会导致代码的可读性和可维护性的降低。本篇主要是分析构造函数在重载和继承时遇到的重复代码的问题。

二、委托构造函数(Delegating constructors)

委托构造函数非常好理解,就是一个构造函数委托(调用)另外一个构造函数来实现。这样做的好处是显而易见的,不需要在两个及以上的构造函数上写重复的代码。比如一个类中有两个以上的构造函数,他们都要对至少两个以上的相同变量进行赋值,那么委托构造函数的优势就体现出来。下面看一下代码,就清楚了:

#include <iostream>

class Example {
   
public:
  Example() : Example(0) {
   }
  //Example() : data_(d), len_(10), height_(10) {}//旧标准
  Example(int d) : data_(d), len_(10), height_(10) {
   }
  Example(const Example &ex) : Example(</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值