急。。。在线等。。。。类的构造函数的问题?
时间:2011-12-05
来源:互联网
Circle类的构造函数是:
class Circle : public Shape
{
public:
Circle(double a[],double b[]):Shape(a[0],b[0])
{
radius = a[1];
}
protected:
double radius;
};
Shape类的构造函数是:
class Shape
{
public:
Shape(double x, double y)
{
xPos = x ,yPos = y;
strcpy(col,"black");
}
protected:
int count;
double xPos,yPos;
char* col;
};
调用函数是:
void AboutCircle()
{
double x[2],y[1];
cout << "输入圆的圆心坐标" << endl;
cin >> x[0] >> y[0];
cout << "输入圆的半径" << endl;
cin >> x[1];
Circle a(x,y);
}
我想用AboutCircle()函数里的x,y数组来构造一个Circle类,该怎么办?
错误该怎么修改?谢谢!
小弟新人,望多多指教
作者: jifenkuaile 发布时间: 2011-12-05
#include <iostream> using namespace std; class Shape { public: Shape(double x, double y) { xPos = x ,yPos = y; strcpy(col,"black"); } protected: int count; double xPos,yPos; char* col; }; class Circle : public Shape { public: Circle(double a[],double b[]):Shape(a[0],b[0]) { radius = a[1]; } protected: double radius; };//这里的分号错了! //这里的分号错了! void AboutCircle() { double x[2],y[1]; cout << "输入圆的圆心坐标" << endl; cin >> x[0] >> y[0]; cout << "输入圆的半径" << endl; cin >> x[1]; Circle a(x,y); }
作者: shenxinji 发布时间: 2011-12-05
C/C++ code
#include <iostream>
using namespace std;
class Shape
{
public:
Shape(double x, double y)
{
xPos = x ,yPos = y;
strcpy(col,"black");
}
protected:
int coun……
额。。。
对不住,那个分号是发帖子的时候加的,但是在原程序里是英文的分号,还有哪里错了呢?
作者: jifenkuaile 发布时间: 2011-12-05
引用 1 楼 shenxinji 的回复:
C/C++ code
#include <iostream>
using namespace std;
class Shape
{
public:
Shape(double x, double y)
{
xPos = x ,yPos = y;
strcpy(col,"black");
}
protected:
int ……
完整的代码发上来
作者: shenxinji 发布时间: 2011-12-05
#include<string>
#include<math.h>
/********基类定义**************/
class Shape
{
public:
Shape(double x, double y)
{
xPos = x ,yPos = y;
strcpy(col,"black");
}
virtual void Getdate() = 0;
virtual void Move(double *a, double *b) = 0;
virtual void Draw(char *s) = 0;
virtual double Area() = 0;
protected:
int count;
double xPos,yPos;
char* col;
};
/********圆形类定义***********/
class Circle : public Shape
{
public:
Circle(double a[],double b[]):Shape(a[0],b[0])
{
radius = a[1];
}
void GetDate()
{
cout << "此时圆的圆心位于:(" << xPos << "," << yPos << ")点" << "\n" << "面积为:" << Area() << "\n颜色为:" << col << endl;
}
void Move(double *a, double *b)
{
xPos = a[0];
yPos = b[0];
}
void Draw(char *s)
{
strcpy(col , s);
cout << "圆的颜色已变为:" << col << endl;
}
double Area()
{
return 3.14 * radius * radius;
}
protected:
double radius;
};
Shape* AboutCircle()
{
double x[2],y[1];
cout << "输入圆的圆心坐标" << endl;
cin >> x[0] >> y[0];
cout << "输入圆的半径" << endl;
cin >> x[1];
Circle a(x,y);
}
int main()
{
char* s;
int num = 0;
int num2 = 0;
Shape* x;
while(num != 2)
{
cout << "选择要创建的图形" << endl;
cout << "1.创建圆" <<endl;
cout << "2.退出" <<endl;
cin >> num;
switch(num)
{
case 1:{x = AboutCircle();break;}
}
}
}
作者: jifenkuaile 发布时间: 2011-12-05
#include<iostream.h> #include<string> #include<math.h> /********基类定义**************/ class Shape { public: Shape(double x, double y) { xPos = x ,yPos = y; strcpy(col,"black"); } virtual void Getdate() = 0;//基类是Getdate,派生类是GetDate,改一处即可 virtual void Move(double *a, double *b) = 0; virtual void Draw(char *s) = 0; virtual double Area() = 0; protected: int count; double xPos,yPos; char* col; }; /********圆形类定义***********/ class Circle : public Shape { public: Circle(double a[],double b[]):Shape(a[0],b[0]) { radius = a[1]; } void GetDate() { cout << "此时圆的圆心位于:(" << xPos << "," << yPos << ")点" << "\n" << "面积为:" << Area() << "\n颜色为:" << col << endl; } void Move(double *a, double *b) { xPos = a[0]; yPos = b[0]; } void Draw(char *s) { strcpy(col , s); cout << "圆的颜色已变为:" << col << endl; } double Area() { return 3.14 * radius * radius; } protected: double radius; }; Shape* AboutCircle() { double x[2],y[1]; cout << "输入圆的圆心坐标" << endl; cin >> x[0] >> y[0]; cout << "输入圆的半径" << endl; cin >> x[1]; Circle a(x,y); } int main() { char* s; int num = 0; int num2 = 0; Shape* x; while(num != 2) { cout << "选择要创建的图形" << endl; cout << "1.创建圆" <<endl; cout << "2.退出" <<endl; cin >> num; switch(num) { case 1:{x = AboutCircle();break;} } } }
作者: shenxinji 发布时间: 2011-12-05
作者: shenxinji 发布时间: 2011-12-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28