-1

だから私はこの問題を抱えています。メインとは異なるクラスからいくつかの変数を取得したいのですが、簡単に変更されないようにデータを非表示にし、getXXX 関数を使用してアクセスすることをお勧めします。private:public:を使用しようとしましたが、使用するとエラーが発生します

エラー: 'private' の前に unqualified-id が必要です

ダイアログと呼ばれるクラスnr1#を取得し、変数を持つクラスはレースと呼ばれます(白黒とは異なります)

とにかく私はこのように関数を呼び出します:(クラスダイアログ)

    above this is all the #include stuff
    dialog::dialog(int y)
    {
        race raceO;
       switch(y)
       {

    case 1: cout << "choose a class \n1     ELF = " << raceO.getStats(1.1) << endl;
break:
}

これがレースクラスです

//private: と public: を入れるべきだったのですか?

    include "race.h"
    include <iostream>
    include <string>

    using namespace std;



    race::race(){
    }

    int race::raceElf(){
    return 0;
    }

        int attack = 5;
        int defence = 3;
        int stamina = 6;


    int race::getStats(int x){

    if(x == 11){
      return attack;
    }
    return 0;
    }
4

2 に答える 2

0

クラス宣言では、次のようになります

class myClass{
public:
myClass();
private:
double x,y,z;
}

これが public と private の使用方法ですが、そうしないと何が問題なのかわかりません。ヘッダー ファイルまたはクラス宣言を提供してください。

于 2013-08-23T17:00:21.140 に答える
0

クラスをどのように使用するかによって異なります。すべてのデータ メンバーを非公開にします。メソッドraceElf()とメソッドgetStats()は、オブジェクトで呼び出すため、パブリックにする必要があります。メソッドが他のクラス メソッド内でのみ使用され、外部では使用されない場合は、プライベートにする必要があります。クラスのオブジェクトを作成する場合は、コンストラクターを public にする必要があります。

class race{
public:
    race();
    int raceElf();
    int getStats(int);
private:
    int attack;
    int defence;
    int stamina;
}

race::race(){
    attack = 5;
    defence = 3;
    stamina = 6;
}

int race::raceElf(){ return 0;  }

int race::getStats(int x){
        if(x == 11){
            return attack;
        }
        return 0;
 }
于 2013-08-23T17:04:59.660 に答える