#include<iostream>
using namespace std;
class A {
int k;
int *ptr;
public:
A(int a):k(a) {
cout<<"ctor\n";
ptr = new int[k];
for(int i = 0; i < k; i++) {
*(ptr + i) = i*i*i;
}
}
A(const A &obj) {
cout<<"copy ctor\n";
k == obj.k;
ptr = new int[k];
for(int i = 0; i < k; i++) {
*(ptr + i) = i*i;
}
}
void show() {
for(int i = 0; i < k; i++) {
cout<<*ptr++<<" ";
}
}
};
A foo() {
A temp(5);
return temp;
}
int main() {
A obj = foo();
obj.show();
return 0;
}
**不复制foo()返回的临时对象。在这个但不是复制构造函数中调用普通构造函数。任何人都可以指出我错在哪里。**