以下是引用vgytu在2020-4-28 09:40:03的发言:
c语言没学多久
你这不是“c语言”,而是“
C++语言”。虽然出题者水平很差,把C++弄得跟C一样,四不像吧。
你没有给出题目要求,假如题目要求是打印出10个20的话,那代码应该是
程序代码:
#include <iostream>
using namespace std;
class Test
{
public:
Test() : size_(), data_()
{
}
Test( const Test& rhs ) : size_(rhs.size_), data_(new int[rhs.size_])
{
for( size_t i=0; i!=size_; ++i )
data_[i] = rhs.data_[i];
}
Test& operator=( const Test& rhs )
{
if( this != &rhs )
{
delete[] data_;
size_ = rhs.size_;
data_ = new int[rhs.size_];
for( size_t i=0; i!=size_; ++i )
data_[i] = rhs.data_[i];
}
return *this;
}
~Test()
{
delete[] data_;
}
void init( size_t size, int value )
{
delete[] data_;
size_ = size;
data_ = new int[size];
for( size_t i=0; i!=size_; ++i )
data_[i] = value;
}
void print() const
{
for( size_t i=0; i!=size_; ++i )
cout << data_[i] << '\n';
}
private:
size_t size_;
int* data_;
};
int main( void )
{
Test a;
a.init(10,20);
a.print();
return 0;
}