c++ class 问题
老师让写个class程序但是怎么无法运行啊我的程序是这样的:文件5035266.cpp#include<iostream>usingstd::cout;usingstd:...
老师让写个class程序但是怎么无法运行啊我的程序是这样的:
文件5035266.cpp
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"
float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}
float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}
bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
文件cycle.h:
#ifndefine CYCLE_H
#define CYCLE_H
class cycle
{
public:
float getarea();
float getlong();
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
#endif 展开
文件5035266.cpp
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"
float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}
float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}
bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
文件cycle.h:
#ifndefine CYCLE_H
#define CYCLE_H
class cycle
{
public:
float getarea();
float getlong();
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
#endif 展开
4个回答
展开全部
你这个程序问题很多 首先函数没有重载 其次预编译头也有问题 应该是#ifndef
而不是 #ifndefine 还有头上的名称空间 只要写 using namespace std;就可以了 还有,使用参数的话直接创建一个构造函数就可以了
你的代码我改了下:
#include "stdafx.h"
#include<iostream>
using namespace std;
class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float area;
float clong;
};
float cycle::getarea(float r) { area=3.14*r*r; return area;}
float cycle::getlong(float r) { clong=2*3.14*r; return clong;}
bool cycle::setarea(float r)
{
if(r>=0) return 1;
else return 0;
}
bool cycle::setlong(float r)
{
if(r>=0) return 1;
else return 0;
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
我顺便用构造函数的方式实现一下,你看看是不是要比你这好得多:
#include "stdafx.h"
#include<iostream>
using namespace std;
class cycle
{
public:
cycle(float);
~cycle();
float getarea();
float getlong();
int setarea();
int setlong();
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
cycle::cycle(float b) {r=b;}
cycle::~cycle(){}
float cycle::getarea() { area=3.14*r*r; return area;}
float cycle::getlong() { clong=2*3.14*r; return clong;}
int cycle::setarea()
{
if(r>=0) return 1;
else return 0;
}
int cycle::setlong()
{
if(r>=0) return 1;
else return 0;
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block(r);
block.setlong();
block.getarea();
block.displaylong();
block.setarea();
block.getarea();
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
而不是 #ifndefine 还有头上的名称空间 只要写 using namespace std;就可以了 还有,使用参数的话直接创建一个构造函数就可以了
你的代码我改了下:
#include "stdafx.h"
#include<iostream>
using namespace std;
class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float area;
float clong;
};
float cycle::getarea(float r) { area=3.14*r*r; return area;}
float cycle::getlong(float r) { clong=2*3.14*r; return clong;}
bool cycle::setarea(float r)
{
if(r>=0) return 1;
else return 0;
}
bool cycle::setlong(float r)
{
if(r>=0) return 1;
else return 0;
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
我顺便用构造函数的方式实现一下,你看看是不是要比你这好得多:
#include "stdafx.h"
#include<iostream>
using namespace std;
class cycle
{
public:
cycle(float);
~cycle();
float getarea();
float getlong();
int setarea();
int setlong();
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
cycle::cycle(float b) {r=b;}
cycle::~cycle(){}
float cycle::getarea() { area=3.14*r*r; return area;}
float cycle::getlong() { clong=2*3.14*r; return clong;}
int cycle::setarea()
{
if(r>=0) return 1;
else return 0;
}
int cycle::setlong()
{
if(r>=0) return 1;
else return 0;
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block(r);
block.setlong();
block.getarea();
block.displaylong();
block.setarea();
block.getarea();
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
展开全部
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
改成:
#include<iostream.h>
然后你就会看到错误提示了,好几个错误,你自己一个一个修改吧。
using std::cout;
using std::cin;
using std::endl;
改成:
#include<iostream.h>
然后你就会看到错误提示了,好几个错误,你自己一个一个修改吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include "cycle.h"
using namespace std;
block.displaylong();
#include "cycle.h"
using namespace std;
block.displaylong();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照你的思路 我做了修改后如下
文件5035266.cpp
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong();
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"
float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}
float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}
bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
文件cycle.h:
#ifndef CYCLE_H
#define CYCLE_H
#include <iostream>
using std::cout;
using std::endl;
class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
#endif
文件5035266.cpp
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"
int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong();
block.setarea(r);
block.getarea(r);
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"
float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}
float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}
bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}
void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}
void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
文件cycle.h:
#ifndef CYCLE_H
#define CYCLE_H
#include <iostream>
using std::cout;
using std::endl;
class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};
#endif
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询