为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我这样写的话,运行结果显示没有运行拷贝函数呢?

#include<iostream>

#include<stdlib.h>

using namespace std;

class Arry

{

public:

Arry()

{

cout<<"Arry()"<<endl;

}

Arry(const Arry&arr)

{

m_iCoor=arr.m_iCoor;

cout<<"Arry(const Arry&arr"<<endl;

}

~Arry()

{

cout<<"~Arry()"<<endl;

}

void setArry(int coor)

{

m_iCoor=coor;

int getArry()

{

return m_iCoor;

private:

int m_iCoor;

};

int main()

{

Arry arr1,arr2;

arr1.setArry(5);

arr2=arr1;

cout<<arr2.getArry()<<endl; 

system("pause");

return 0;

 } 


正在回答

3 回答

你是直接定义了arr1和arr2,并没有按照要求用arr1实例化arr2

0 回复 有任何疑惑可以回复我~

初始化的时候,才会调用

0 回复 有任何疑惑可以回复我~
Arry arr1;
	arr1.setArry(5);
	Arry arr2 = arr1;
	改成这样就打印了呢


0 回复 有任何疑惑可以回复我~
#1

OREZ180 提问者

我想知道这样写,错的原因是什么。
2017-10-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

为什么我这样写的话,运行结果显示没有运行拷贝函数呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信