问题描述:
有劳各位大哥大姐帮我解决一下这道C++问题,急救,在下感激不尽!
问题解答:
#include<iostream>
#include<cstring>
using namespace std;
class Hotel{
private:
static int num;
static int total;
char *name;
public:
void add(char *a);//
void print();//
static int getTotal(){
return total;
}//
char *getName();
};
void Hotel::add(char *na)
{
name = new char[strlen(na) + 1];
strcpy(name,na);
total++;
}
char *Hotel::getName(){
return name;
}
void Hotel::print(){
cout<<name<<" "<<getTotal()<<endl;
}
int Hotel::total=0;
int main(){
Hotel h[100];
h[0].add("Susan");
h[1].add("Peter");
h[2].add("John");
h[3].add("Mary");
h[4].add("Alice");
string name;
cin>>name;
for(int i=0;i<Hotel::getTotal();i++)
{
if(h[i].getName()==name)
{
cout<<i+1<<" ";
h[i].print();
break;
}
}
return 0;
}
不明白。同名同性怎么办啊。你是不是用来做回头率啊。总数\是指以前的也算出来是吗?。