-
class Array { public: Array(int count); Array(const Array &arr); ~Array(); void setCount(int count); int getCount(); void printAddr(); void printArr(); private: int m_iCount; int *m_pArr; }; #include"Array.h" #include <iostream> using namespace std; Array::Array(int count) { m_iCount = count; m_pArr=new int[m_iCount]; for(int i=0;i<m_iCount;i++) { m_pArr[i]=i; } cout << "Array" <<endl; } Array::Array(const Array &arr) { m_iCount = arr.m_iCount; m_pArr =new int[m_iCount]; for(int i=0;i<m_iCount;i++) { m_pArr[i] = arr.m_pArr[i]; } cout <<"Array&" <<endl; } Array::~Array() { delete []m_pArr; m_pArr = NULL; cout <<"~Array" <<endl; } void Array::setCount(int count) { m_iCount = count; } int Array::getCount() { return m_iCount; } void Array::printAddr() { cout <<"m_pArr=" <<m_pArr <<endl; } void Array::printArr() { for(int i=0;i<m_iCount;i++) { cout << m_pArr[i] <<endl; } }查看全部
-
class Array { public: Array(); Array(const Array &arr); ~Array(); void setCount(int count); int getCount(); private: int m_iCount; }; #include"Array.h" #include <iostream> using namespace std; Array::Array() { cout << "Array" <<endl; } Array::Array(const Array &arr) { m_iCount = arr.m_iCount; cout <<"Array&" <<endl; } Array::~Array() { cout <<"~Array" <<endl; } void Array::setCount(int count) { m_iCount = count; } int Array::getCount() { return m_iCount; } #include <iostream> #include <stdlib.h> #include "Array.h" using namespace std; int main() { Array arr1; arr1.setCount(5); Array arr2(arr1); cout << "arr2.m_iCount="<<arr2.getCount() <<endl; system("pause"); return 0; }查看全部
-
如果数据成员里面不包含指针的话用浅拷贝即可 如果数据成员里面包含指针的话,那就需要用到深拷贝,即为该指针在堆上开辟一块内存,并且将另外一个对象的数据全部赋给这个对象的数据成员查看全部
-
常量只有读权限查看全部
-
长指针和常引用只能调用常成员函数查看全部
-
用const修饰的非常规类型对象成员成为常对象成员查看全部
-
对象指针就是指向对象的指针查看全部
-
如果是指针的话就需要深拷贝查看全部
-
浅拷贝就是直接将值从一个成员函数拷贝到另一个成员函数中查看全部
-
常对象调用常成员函数查看全部
-
完全相同的成员函数 一个被const修饰成常成员函数,可称两个函数重载查看全部
-
遍历就是打印出数组中元素的所有信息查看全部
-
对象中有指针成员,深拷贝,for()循环实现查看全部
-
p代表p[0] p+1代表p[1]查看全部
-
对象数组的两种定义方式查看全部
举报
0/150
提交
取消