题解 | #数组类的拷贝构造函数#

数组类的拷贝构造函数

http://www.nowcoder.com/practice/73014020b7d54622ac5000b06eaaa4ef

#include<bits/stdc++.h>
using namespace std;
class Array {
  private:
    int n;//数组大小
    int* a;//数组
  public:
    Array() {
        cin >> n;
        a = new int [n];//关键啊
        for (int i = 0; i < n; i++) cin >> a[i];
    }
    ~Array() {
        delete []a;
    }
    int getlen() {
        return n;
    }
    int get(int i) {
        return a[i];
    }
    // write your code here......
    //什么是拷贝构造函数,就是用已经定义好的变量定义变量
    //拷贝构造函数必须通过引用传递第一个参数,这样不是修改原始变量了吗
    Array(Array& arr) {
        this->n = arr.getlen(); //
        this->a = new int[n];
        for (int i = 0; i < arr.n; ++i) {
            this->a[i] = arr.get(i);
        }

    }


    void show() {
        for (int i = 0; i < n; i++) cout << a[i] << ' ';
    }
};
int main() {
    Array a;
    Array b = a;
    b.show();
    return 0;
}
全部评论

相关推荐

菠落蜜:这个是系统自动投的,不是hr主动打招呼。更抽象的还有ai回复
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务