求助 :C++ 程序修改!

来源:百度知道 编辑:UC知道 时间:2024/05/08 18:57:43
#include <iostream>
#include <cstdlib>
using namespace std;

class myclass
{
int *p;
public:
myclass (int i );
~myclass()
{
delete p;
}
int getval(myclass o);
};

myclass::myclass(int i)
{
p = new int;
if(!p)
{
cout << "Allocation erro\n";
exit(1);
}
*p = i;
}
void myclass::getval ( *myclass o )
{
return *o.p;
}

int main()
{
myclass a(1), b(2);

cout << a.getval(a) << " " << a.getval(b) << endl;
cout << b.getval(a) << " " << b.getval(b) << endl;
return 0;

}
错在哪里? 忘高手不吝赐教~ 在此谢过~~

#include <iostream>
#include <cstdlib>
using namespace std;

class myclass {
int *p;
public:
myclass (int i ) {
p = new int(i);
if (!p) {
cout << "Allocation erro\n";
exit(1);
}
// *p = i;
}

~myclass() {
delete p;
}

int getval(myclass& o) { ////////////
return *(o.p); ////////////
}
};

int main() {
myclass a(1);
myclass b(2);
cout << a.getval(a) << " " << a.getval(b) << endl;
cout << b.getval(a) << " " << b.getval(b) << endl;
}

#include <iostream>
#include <cstdlib>
using namespace std;

class myclass
{
int *p;
public:
myclass (int i );
~myclass()
{