#include<iostream.h>
#include<math.h>
#include<string>
#include <stdlib.h>
const MaxPointNumbers=3;//描述点的最大值
class Point//定义一个Point类
{
private:
float x;
float y;//定义对象x,y用来表示坐标
char name[20]; // string是C++支持的字符串类型,直接存储一个字符串,比char*方便
char color[15];
int weight;
public:
void input();//声明一个输入函数
float get_x(){return x;}//返回x的值
float get_y(){return y;}//返回y的值
//构造函数
Point(char *tname,char tcolor[],int tweight)
{
weight= tweight;
strcpy(name, tname);
strcpy(color,tcolor);
}
// 拷贝构造函数
Point(const Point& point) //对象的常引用
{
weight = point.weight;
strcpy(name, point.name);
strcpy(color,point.color);
}
}
void setName(char *tname)
{
strcpy(name,tname); // 成员函数在类内部实现
}
char* getName() { return name;}
void setWeight(int tweight);
void setColor(char *s) { strcpy(color,s); }
char *getColor() { return color; }
int getWeight();
void Size();
void selfintro();
void Point::setWeight(int tweight) // 成员函数在类外部实现,需要Point::修饰符
{
weight = tweight;
}
int Point::getWeight()
{
return weight;
}
void Point::size()
{
cout<<"单位1"<<endl; // 哇,点的大小都是一样的!
}
void Point::input()//定义输入坐标的函数
{
cin>>x>>y;
}
class line:public Point//派生类line
{
public:
void al_line(Point&,Point&,Point&);//声明一个计算三条边的函数
float get_11() {return 11;}//返回11的值
float get_12() {return 12;}//返回12的值
float get_13() {return 13;}//返回13的值
private:
float 11,12,13;//定义三条线段
};
void line::al_line(point& p1,point& p2,point& p3)//计算三条边的长度
{
11=sqrt((p2.get_x()-p1.get_x())*(p2.get_x()-p1.get_x())+(p2.get_y()-p1.get_y()*p2.get_y()-p1.get_y()));
12=sqrt((p3.get_x()-p1.get_x())*(p3.get_x()-p1.get_x())+(p3.get_y()-p1.get_y()*p3.get_y()-p1.get_y()));
13=sqrt((p3.get_x()-p2.get_x())*(p3.get_x()-p2.get_x())+(p3.get_y()-p2.get_y()*p3.get_y()-p2.get_y()));
}
void Point::selfintro()
{
cout<<"Hello, I am "<<name<<". I am "<<weight<<" g ";
cout<<"My opsition is"<<(x,y)<<".";
cout<<" I am "<<color<<"."<<endl;
Size();
if(11*11=12*12+13*13&&12*12=11*11+13*13&&13*13=11*11+12*12)
cout<<"这三边可以构成直角三角形"<<endl;
else
cout<<"这三边不能构成直角三角形"<<endl;
}
void showDogInfo(Point tpoint)
{
cout<<"Name: "<<tpoint.getName()<<" Color: "<<tpoint.getColor()<<endl;
cout<<"Weight: "<<tpoint.getWeight()<<endl;
cout<<"-------------------------------------------------------------"<<endl;
}
int main()
{
Point point1("A点","Red",2),
point2("B点","Dotted",1);
point3("C点","Blue",5);
Point point[NUMDOG];
//point1.setName("A点");
//point1.setweight(2);
//point2.setName("B点");
//point2.setweight(1);
//point3.setName("C点");
//point3.setweight(5);
cout<<"Please introduce urself:"<<endl;
point1.selfintro();
point2.selfintro();
point3.selfintro();
char str[2];// 存放点的编号
char str2[20];// 存放点的名字
for(int i=0;i<NUMDOG;i++) {
itoa(i+1,str,10); // 整数转化为字符串函数
strcpy(str2,"Point");
strcat(str2,str);
point[i].setName(str2);
//sprintf(str2,"Point%d",i+1); //需要包含stdio.h
point[i].setWeight(rand()%10+1); // 这样狗的年龄就可以是随机的了
point[i].setColor("yellow");
}
for (int i=0;i<NUMDOG;i++) showDogInfo(dog[i]); //dog[i].selfintro();
return 0;
}
错误:
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(34) : error C2628: 'Point' followed by 'void' is illegal (did you forget a ';'?)
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(36) : error C2065: 'name' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(40) : error C2065: 'color' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(45) : error C2039: 'setWeight' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(47) : error C2065: 'weight' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(49) : error C2039: 'getWeight' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(53) : error C2039: 'size' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(70) : error C2059: syntax error : 'constant'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(70) : error C2238: unexpected token(s) preceding ';'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(72) : error C2065: 'point' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(72) : error C2065: 'p1' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(72) : error C2065: 'p2' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(72) : error C2065: 'p3' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(73) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(79) : error C2039: 'selfintro' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(82) : error C2065: 'x' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(82) : error C2065: 'y' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(85) : error C2106: '=' : left operand must be l-value
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(85) : error C2106: '=' : left operand must be l-value
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(85) : error C2106: '=' : left operand must be l-value
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(92) : error C2039: 'getName' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(92) : error C2039: 'getColor' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(93) : error C2039: 'getWeight' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(100) : error C2065: 'point3' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(101) : error C2065: 'NUMDOG' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(101) : error C2057: expected constant expression
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(101) : error C2466: cannot allocate an array of constant size 0
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(101) : error C2133: 'point' : unknown size
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(101) : error C2512: 'Point' : no appropriate default constructor available
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(110) : error C2039: 'selfintro' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(111) : error C2039: 'selfintro' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(112) : error C2228: left of '.selfintro' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(121) : error C2039: 'setName' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(123) : error C2039: 'setWeight' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(124) : error C2039: 'setColor' : is not a member of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(8) : see declaration of 'Point'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(126) : error C2374: 'i' : redefinition; multiple initialization
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(117) : see declaration of 'i'
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(126) : error C2065: 'dog' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(126) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\ccoolpoint\ccoolpoint.cpp(126) : error C2664: 'showDogInfo' : cannot convert parameter 1 from 'int' to 'class Point'
No constructor could take the source type, or constructor overload resolution was ambiguous
执行 cl.exe 时出错.
ccoolpoint.exe - 1 error(s), 0 warning(s)
转载于:https://blog.51cto.com/6831158/1167578