-4

コードで静的プライベート変数が機能しない理由がわかりません! コードは次のとおりです。

#include<iostream>
#include<string>
using namespace std;
class KittyCat{
private:
int a;
string t;
static int count;
public:
KittyCat(){
    a=0;
    t="NULL";
    count++;
}
void set(int i, string m){
    a=i;
    t=m;
}
void show(){
    cout << "A is: "<< a <<" T is: " << t <<"\n\n";
}
void totalCount(){
    cout <<"Total Counts: "<< count <<"\n\n";
}

};
void main(){
KittyCat tech, review, article, photo, video;
tech.set(10, "Technology");
review.set(85, "Reviews");
article.set(54, "Articles");
article.show();
article.totalCount();
}

何か案は?

4

3 に答える 3

-1
int KittyCat::count = 0;

すべての静的データ メンバーは使用前に初期化する必要があるため、main の前に追加する必要があります。

于 2013-06-26T06:23:30.800 に答える
-3

これを得ました:

#include<iostream>
#include<string>
using namespace std;
class KittyCat{
private:
int a;
string t;
static int count;
public:
KittyCat(){
    a=0;
    t="NULL";
    count++;
}
void set(int i, string m){
    a=i;
    t=m;
}
void show(){
    cout << "A is: "<< a <<" T is: " << t <<"\n\n";
}
void totalCount(){
    cout <<"Total Counts: "<< count <<"\n\n";
}

};
int KittyCat::count=0;
void main(){
KittyCat tech, review, article, photo, video;
tech.set(10, "Technology");
review.set(85, "Reviews");
article.set(54, "Articles");
article.totalCount();
}
于 2013-06-26T06:07:05.060 に答える