2017-09-29 5 views
-4

私が取り組んでいるのは、数字の順序を逆転させるクラスを作ることに焦点を当てたコードを作ることです。これはメインコードに入れられ、末尾のゼロが削除されます。私は授業の仕方や私が間違っているところを頭の中で包み込むようには思えません。ここに私のコードは次のとおりです。main関数のクラスを挿入できませんか?

Numbers.h

#pragma once 
#include <iostream> 
class Numbers 
{ 
public: 
int digit 
private: 
void Numbers::reverse(); 
}; 

Numbers.cpp

#include "Numbers.h 
#include <iostream> 

using namespace std; 

void Numbers::reverse(){ 
int n, reversedNumber = 0, remainder; 

cout << "Enter the number you would like to manipulate! " << endl; 
cin >> n; 

while (n !=0) 
{ 
remainder = n % 10; 
reversedNumber = reversed Number * 10 + remainder; 
n /= 10; 
} 
//return *this; 
} 

MAIN.CPP

#include "stdafx.h" 
#include <iostream> 
#include <iomanip> 
#include <string> 
#include "Numbers.h" 

using namespace std; 

int main() 
{ 
Numbers.reverse; 

system("pause"); 
return 0; 
} 

私は逆の機能をするように見えることはできません私のNumbers.cppは主な機能で動作します。私はC++を初めて使っていて、どこが間違っているのか分かりません。どんな助けもありがとう!

+1

ところで、関数やメソッドを呼び出す構文は、Numbers.reverse()のように、名前の最後に '()'を使うことです。 *(Numbersは型であり、型のインスタンスではないので、これは 'Numbers :: reverse()'でなければなりません)* –

+1

あなたは関数呼び出しを行っていません。 'Numbers.reverse();'を使います。 –

+0

プライベート関数を作成するには、このようにアクセスするには静的publicにする必要があります。 –

答えて

0

OK、あなたのコードには多くの間違いや学習エラーがあります。

#include "Numbers.h" 

Numbers::Numbers() 
{ 
} 

Numbers::~Numbers() 
{ 
} 

// No need to store the value in 'digit' since this 
// is just an algorithm which can return the result. 
int Numbers::Reverse(int input) 
{ 
    int ret = 0; 

    while(input > 0) 
    { 
    ret = ret * 10 + (input % 10); 
    input = input/10; 
    } 

    return ret; // Return the reversed number and let the user decide what to do. 
} 

次のように続いて、あなたのクラスを使用することができます:

#include "Numbers.h" 
#include <iostream> 

using namespace std; 

int main() 
{ 
    int num; 

    cout << "Enter a number to reverse: "; 
    cin >> num; 

    Numbers numClass; 

    cout << "Reversed number is: " << numClass.Reverse(num) << endl; 

    return 0; 
} 
あなたのCPPファイルは、その後(SO hereを投稿から取られた部分)になります

#pragma once 

class Numbers 
{ 
public: 
    Numbers(); 
    ~Numbers(); 

    int Reverse(int input); // Function is 'public'. 
}; 

:あなたのヘッダファイルは次のようになります

+0

'numClass(2400)'を呼び出すと '42'を返し、**は' 0042'を返しません。後続のゼロは削除されます。 – user2205930

関連する問題