C++类与对象(构建函数,析构函数,拷贝构建函数)

#include<iostream>  
using namespace std;  
//定义类  
class cname  
{  
        public :    
            //构造函数声明  
            cname(int q, int w, int e);  
            //复制构造函数声明  
            cname(cname& r);  
            //析构函数  
            ~cname();  
            //自定义函数  
            int getc();//输出三个值  
        private:  
            int a, b, c;  
            int* p;  
};  
cname convers();  
int main()  
{  
    int e, r, t;  
    cin >> e >> t >> r;  
    cout<<"po:\n";  
    cname po(e, r, t);  //传入形参  
     po.getc(); //打印  
     cout << "pe:\n";  
    cname pe=po; //利用复制构造函数 复制一个pe  
    pe.getc();//打印pe  
    pe = convers();  
    pe.getc();  
    return 0;  
}  
//构造函数  
cname::cname(int q,int w,int e)  
{  
    a = q;  
    b = w;  
    c = e;  
    p = new int ;  
    *p = c+2;// c值+2 为了区分指针p  
}  
//拷贝构造函数  
cname::cname(cname& r)  
{  
    a = r.a;  
    b = r.c;  
    c = r.b;  //此处b.c交换值为区别复制的对象  
}  
//析构函数  
cname::~cname()  
{  
    cout << "recycle _class\n";  
}  
//自定义函数  
int cname::getc()//输出三个形参  
{  
    cout <<"a="<< a << "  b=" << b << "  c= " << c << "\n";  
    return 0;  
}  
cname convers()//返回一个cname类型的对象(数据成员通过构造函数初始化完成10,11,12)  
{  
    cname po(10, 11, 12);  
    return  po;  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值