c++问题,求解答!
#include<iostream>usingnamespacestd;classShape{public:voidInitS();voidInitS(char*pid,...
#include<iostream>
using namespace std;
class Shape
{
public:
void InitS();
void InitS(char *pid,float x,float y);
~Shape();
float getArea(float x)
{
const float Pl=3.14f;
return Pl*x*x;
}
float getArea(float x,float y)
{
return x*y;
}
virtual void display()
{
cout<<"**************************************"<<endl;
}
protected:
char *id;
float X;
float Y;
};
void Shape::InitS(char *pid,float x,float y)
{
id=new char[strlen(pid)+1];
strcpy(id,pid);
X=x;
Y=y;
}
Shape::~Shape()
{
delete []id;
}
class Circle:public Shape
{
public:
Circle();
Circle(char *pid,float x,float y,float r);
void display();
private:
float raduis;
};
Circle::Circle(char *pid,float x,float y,float r)
{
InitS(pid,x,y),raduis=r;
}
void Circle::display()
{
cout<<"圆类编号 :"<<"\t"<<id<<"\t"<<"X坐标="<<X<<"\t\t"<<"Y坐标="<<Y
<<"\t\t"<<"圆面积="<<getArea(raduis)<<endl;
}
class Rectangle:public Shape
{
public:
Rectangle();
Rectangle(char *pid,float x,float y,float l,float w);
void display();
private:
float length;
float winth;
};
Rectangle::Rectangle(char *pid,float x,float y,float l,float w)
{
InitS(pid,x,y),length=l,winth=w;
}
void Rectangle::display()
{
cout<<"矩形类编号:"<<"\t"<<id<<"\t"<<"X坐标="<<X<<"\t\t"<<"Y坐标="<<Y
<<"\t\t"<<"矩形面积="<<getArea(length,winth)<<endl;
}
void d(Shape *p)
{
p->display();
}
void main()
{
Shape s,*p;
Circle c1("123",1,2,5);
Rectangle r1("123",2,2,3,4);
Circle c2=c1;
p=&c1;
d(p);
p=&r1;
d(p);
p=&c2;
d(p);
} 展开
using namespace std;
class Shape
{
public:
void InitS();
void InitS(char *pid,float x,float y);
~Shape();
float getArea(float x)
{
const float Pl=3.14f;
return Pl*x*x;
}
float getArea(float x,float y)
{
return x*y;
}
virtual void display()
{
cout<<"**************************************"<<endl;
}
protected:
char *id;
float X;
float Y;
};
void Shape::InitS(char *pid,float x,float y)
{
id=new char[strlen(pid)+1];
strcpy(id,pid);
X=x;
Y=y;
}
Shape::~Shape()
{
delete []id;
}
class Circle:public Shape
{
public:
Circle();
Circle(char *pid,float x,float y,float r);
void display();
private:
float raduis;
};
Circle::Circle(char *pid,float x,float y,float r)
{
InitS(pid,x,y),raduis=r;
}
void Circle::display()
{
cout<<"圆类编号 :"<<"\t"<<id<<"\t"<<"X坐标="<<X<<"\t\t"<<"Y坐标="<<Y
<<"\t\t"<<"圆面积="<<getArea(raduis)<<endl;
}
class Rectangle:public Shape
{
public:
Rectangle();
Rectangle(char *pid,float x,float y,float l,float w);
void display();
private:
float length;
float winth;
};
Rectangle::Rectangle(char *pid,float x,float y,float l,float w)
{
InitS(pid,x,y),length=l,winth=w;
}
void Rectangle::display()
{
cout<<"矩形类编号:"<<"\t"<<id<<"\t"<<"X坐标="<<X<<"\t\t"<<"Y坐标="<<Y
<<"\t\t"<<"矩形面积="<<getArea(length,winth)<<endl;
}
void d(Shape *p)
{
p->display();
}
void main()
{
Shape s,*p;
Circle c1("123",1,2,5);
Rectangle r1("123",2,2,3,4);
Circle c2=c1;
p=&c1;
d(p);
p=&r1;
d(p);
p=&c2;
d(p);
} 展开
1个回答
展开全部
你说的是main函数中的return? return 0; 是告诉操作系统你的程序运行正常,而其他数字是代表了一个错误号。但是有时我们可以不用这么准确,错误了返回1就可以了。但是在驱动编程中最好把各个错误号对应好:
下面是返回值的具体意义:
EPERM Operation not permitted 1
ENOENT No such file or directory 2
ESRCH No such process 3
EINTR Interrupted function 4
EIO I/O error 5
ENXIO No such device or address 6
E2BIG Argument list too long 7
ENOEXEC Exec format error 8
EBADF Bad file number 9
ECHILD No spawned processes 10
EAGAIN No more processes or not enough memory or maximum nesting level reached 11
ENOMEM Not enough memory 12
EACCES Permission denied 13
EFAULT Bad address 14
EBUSY Device or resource busy 16
EEXIST File exists 17
EXDEV Cross-device link 18
ENODEV No such device 19
ENOTDIR Not a directory 20
EISDIR Is a directory 21
EINVAL Invalid argument 22
ENFILE Too many files open in system 23
EMFILE Too many open files 24
ENOTTY Inappropriate I/O control operation 25
EFBIG File too large 27
ENOSPC No space left on device 28
ESPIPE Invalid seek 29
EROFS Read-only file system 30
EMLINK Too many links 31
EPIPE Broken pipe 32
EDOM Math argument 33
ERANGE Result too large 34
EDEADLK Resource deadlock would occur 36
EDEADLOCK Same as EDEADLK for compatibility with older Microsoft C versions 36
ENAMETOOLONG Filename too long 38
ENOLCK No locks available 39
ENOSYS Function not supported 40
ENOTEMPTY Directory not empty 41
EILSEQ Illegal byte sequence 42
STRUNCATE String was truncated 80
希望能解决您的问题。
下面是返回值的具体意义:
EPERM Operation not permitted 1
ENOENT No such file or directory 2
ESRCH No such process 3
EINTR Interrupted function 4
EIO I/O error 5
ENXIO No such device or address 6
E2BIG Argument list too long 7
ENOEXEC Exec format error 8
EBADF Bad file number 9
ECHILD No spawned processes 10
EAGAIN No more processes or not enough memory or maximum nesting level reached 11
ENOMEM Not enough memory 12
EACCES Permission denied 13
EFAULT Bad address 14
EBUSY Device or resource busy 16
EEXIST File exists 17
EXDEV Cross-device link 18
ENODEV No such device 19
ENOTDIR Not a directory 20
EISDIR Is a directory 21
EINVAL Invalid argument 22
ENFILE Too many files open in system 23
EMFILE Too many open files 24
ENOTTY Inappropriate I/O control operation 25
EFBIG File too large 27
ENOSPC No space left on device 28
ESPIPE Invalid seek 29
EROFS Read-only file system 30
EMLINK Too many links 31
EPIPE Broken pipe 32
EDOM Math argument 33
ERANGE Result too large 34
EDEADLK Resource deadlock would occur 36
EDEADLOCK Same as EDEADLK for compatibility with older Microsoft C versions 36
ENAMETOOLONG Filename too long 38
ENOLCK No locks available 39
ENOSYS Function not supported 40
ENOTEMPTY Directory not empty 41
EILSEQ Illegal byte sequence 42
STRUNCATE String was truncated 80
希望能解决您的问题。
追问
有病吧,孩子你...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询