我是C ++的新手,现在我遇到了这个问题,我真的不知道如何以及从哪里开始。
它是关于使用类和对象重写现有的简单程序。我阅读了很多关于OOP的书籍和在线资源,我得到了基本的概念,但我真的不知道如何以各种不同的方式使用它。
我真的很抱歉我的问题没有清除......基本上我的问题是,如何在面向对象编程中重写这段代码? (我希望这有助于澄清...)
- 于2014/4/19下午5:29添加
我走到了死胡同,挣扎着...有人可以帮助我开始吗?即使只是给我一个提示或暗示我会感激!!
这只是我编写的程序的一部分,我只想知道进入OOP的步骤。
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector < float > num;
float sum = 0;
float average = 0;
int totalCount = 0; // total number count
// Loop for read in total number count
cout << "Please enter total number count\n";
cin >> totalCount;
sum = 0;
// Loop for read in numbers
for (int i = 0; i < totalCount; ++i)
{
num.push_back(0); // creates a space, must use this when vector is used
cout << "\nPlease enter the number\n" << "Number " << i + 1 << ": ";
cin >> num[i];
sum += num[i]; // calculate the sum
}
// Calculate the average
average = sum / totalCount;
cout << "\n\nAverage: " << average << "\n";
system("PAUSE");
return 0;
}
答案 0 :(得分:0)
我不确定我是否完全理解你的问题,但如果你只是需要为它写一个课程。你可以用不同的方式做到这一点..
1)如果你想要一个特定于浮点值的类,你可以做这样的事情,真的很简单但只是为了给你一个例子..
class MyFloat{
float _num;
public:
MyFloat(float f = float()) : _num(f){}
float getMyFloat() const{ return _num; }
void setMyFloat(float b) { _num = b;}
};
2)如果你想拥有一个可以解决或处理任何数据类型的类,那么你将会看到一个看起来像这样的模板类。
template <typename T>
class MyFloat{
T _num;
public:
MyFloat(T f = T()) : _num(f){}
T getMyFloat() const{ return _num; }
void setMyFloat(T b) { _num = b;}
};
然后在您的实现中,您只需使用您的类创建一个对象,在本例中为MyFloat ..
vector <MyFloat> num; // this will be an object that could handle float values or any type depending which class you choose to use
我希望它有所帮助,即使你的问题不太清楚......:)
答案 1 :(得分:0)
在这种情况下,没有具体需要创建对象。实际上,您为数字序列(num
)实例化了一个对象。