快要有一个月没有更新博客了,是时候再动一动笔啦!因为最近在学习C++,在学习过程中看了好多书,也在实际训练中遇到了一些问题。所以在接下来的时间里,应该会对C++里自己遇到的一些难点写几篇专题,就当是为自己梳理巩固知识啦!
我们都知道所谓构造函数就是类用来初始化各个数据成员的(非静态),如果成员都没初始化好,那么在对类的后续操作中肯定会遇到各种莫名其妙的错误。所以,我们有必要对构造函数做一个全面的了解,知道在各种情况下,构造函数都是怎样执行的,这样才能对类进行完美的控制。
默认构造函数:
class base{
public:
base()=default;
base(string& s1,int a1):s(s1),a(a1){}
base(base& b):s(b.s),a(b.a){}
void print(){cout<<s;cout<<a;}
private:
const string s;
int a=0;
};
首先我们都知道构造函数是支持重载的,一个类的对象可以支持多种初始化方式。那么如果类里面没有定义构造函数怎么办呢?其实无所谓,因为系统会自动对类