|
|
|
| недоконца я понимаю ООП. Вот есть прога, она должна вводить 2 массива и выводить их, но чё то он начинает вводить, и не фига не останавливается. помоги, добрый человек...
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
class rad
{
int n;
float *X;
float *Y;
public:
rad(int n)
{
X=new float[n];
Y=new float[n];
}
void vvodX()
{
for(int i=0;i<n;i++)
{
cin>>(*(X+i));
}
}
void vvodY()
{
for(int i=0;i<n;i++)
{
cin>>(*(Y+i));
}
}
void vivodX()
{
cout<<endl;
float *p;
for(p=X;p<=X+n-1;p++)
{
printf("%3.0f",*p);
cout<<endl;
}
}
void vivodY()
{
cout<<endl;
float *p;
for(p=Y;p<=Y+n-1;p++)
{
printf("%3.0f",*p);
cout<<endl;
}
}
getch();
};
void main()
{
int n;
cin>>n;
rad objrad(n);
objrad.vvodX();
objrad.vvodY();
objrad.vivodX();
objrad.vivodY();
getch();
} | |
|
|
|
|
|
|
|
для: timaslook
(11.02.2007 в 15:43)
| | А у вас член n в классе rad не инициализируется. Исправьте конструктор следующим образом
rad(int number)
{
n = number;
X=new float[n];
Y=new float[n];
} |
PS Кстати, выделенную при помощи new память неплохо вернуть системе при помощи delete [] в деструкторе, иначе память будет "утекать". | |
|
|
|
|
|
|
|
для: cheops
(11.02.2007 в 16:00)
| | премного благодарен. | |
|
|
|