拷贝构造函数学习笔记

来源:互联网 发布:七政四余择日软件下载 编辑:程序博客网 时间:2024/06/11 09:05

//*****************************************//
//拷贝构造函数学习后写的代码
#include <iostream>

class CTest
{
public:
 CTest();//缺省构造函数
inline ~CTest();//析构函数
 CTest(double,double*);//重载构造函数
 CTest(const CTest&);//拷贝构造函数
 void change(double,double*);//测试用成员函数
private:
    double m_dtest;
 double *m_ptest;


};
CTest::CTest()//缺省构造函数
{

 m_dtest=10.10;
 m_ptest=NULL;
}
CTest::~CTest()
{
 
}
CTest::CTest(const CTest& test)//拷贝构造函数
{
 m_dtest=test.m_dtest;
 m_ptest=test.m_ptest;
}
CTest::CTest(double dtest,double* ptest)//重载构造函数
{
 m_dtest=dtest;
 m_ptest=ptest;
}
void CTest::change(double dtest,double* ptest)//测试用成员函数
{
 m_dtest=dtest;
 m_ptest=ptest;
}

int main()
{
 double x=10.5,y=10.6;
 CTest test1,test3;//调用缺省构造函数
 CTest test2(0.2,&x);//调用重载构造函数
 test3=CTest(test2);//调用拷贝构造函数
 test2.change(0.25,&y);//调用测试用成员函数,这里test2的指针型数据成员改变了,而test3的指针型数据成员没有改变。
 return 0;
}

原创粉丝点击