C ++在OOP中写...从哪里开始?

时间:2014-04-19 20:30:42

标签: c++ function class oop object

我是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;
}

2 个答案:

答案 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)实例化了一个对象。