对象和对象间 赋值的问题。。。
[code=C]/C++
#include<iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"构造函数执行\n";}
num(const num&s){this->n=s.n;cout<<"复制构造函数执行\n";}
num(int i){cout<<"单个参数构造函数执行\n";}
~num(){cout<<"析构函数执行\n";}
int get()const{return n;}
void set(int x){n=x;}
void add(){n++;}
const num &operator++(){++n;cout<<"前置 this的地址"<<this<<endl;return *this;}//i.operator++()
const num operator++(int){
num temp(*this);
cout<<"temp的地址"<<&temp<<endl;
++n;
cout<<"后置 this的地址"<<this<<endl;
return temp;}
private:
int n;
};[/code]
num a; 构造函数执行
num b; 构造函数执行
b=a; 什么都没执行 直接就对象b=a了 没重载operator= 这样也行?
#include<iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"构造函数执行\n";}
num(const num&s){this->n=s.n;cout<<"复制构造函数执行\n";}
num(int i){cout<<"单个参数构造函数执行\n";}
~num(){cout<<"析构函数执行\n";}
int get()const{return n;}
void set(int x){n=x;}
void add(){n++;}
const num &operator++(){++n;cout<<"前置 this的地址"<<this<<endl;return *this;}//i.operator++()
const num operator++(int){
num temp(*this);
cout<<"temp的地址"<<&temp<<endl;
++n;
cout<<"后置 this的地址"<<this<<endl;
return temp;}
private:
int n;
};[/code]
num a; 构造函数执行
num b; 构造函数执行
b=a; 什么都没执行 直接就对象b=a了 没重载operator= 这样也行?
...全文
相关推荐
如何使用BeanUtils.copyProperties进行对象之间的属性赋值
主要介绍了使用BeanUtils.copyProperties进行对象之间的属性赋值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Vue对象赋值视图不更新问题及解决方法
主要介绍了Vue对象赋值视图不更新问题及解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
vue 数组和对象不能直接赋值情况和解决方法(推荐)
主要介绍了vue 数组和对象不能直接赋值情况和解决方法,需要的朋友可以参考下
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
今天小编就为大家分享一篇解决vue A对象赋值给B对象,修改B属性会影响到A的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
vue踩坑记录之数组定义和赋值问题
主要给大家介绍了关于vue踩坑记录之数组定义和赋值问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧


