c++模板篇
一. C++封装
1.初始化列表
public:
student():m_name("James"),m_age(10){}
private:
string m_name;
int m_age;
**A** .其必要存在性: 与构造函数不同,其可初始化const类型私有函数如:
public:
student():m_name("James"){}
//错误代码:student() {m_name="James"}
private:
const string m_name;
2. 拷贝构造函数
student::student(const student &stu){}
//不需要内容
----------
student t1;
student t2=t1; //拷贝构造函数
student t3(t1); //拷贝构造函数
**注意:拷贝构造函数的参数是确定的,不能重载。
(6.5)
浅拷贝:
深拷贝:
3.析构函数
**注意:不管从堆中还是从栈中实例化对象都需要最后销毁对象。
如:
teacher t1;
teacher *p=new teacher();
delete p;
**堆中实例化的数组需要手动销毁释放内存,在栈中实例化的数组,系统自动回收内存.
(6.4)