首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大神啊

2013-12-28 
大神求助啊,我已经在中.cpp引入了对应的头文件,但事先声明的变量貌似不能用我用的是vs2010:各变量报错 未

大神求助啊,
我已经在中.cpp引入了对应的头文件,但事先声明的变量貌似不能用我用的是vs2010:各变量报错 未声明的标识符
下面是代码:
.h文件 
#ifndef Person_H_
#define Person_H_
#include <string>
#include <ostream>
using namespace std;
class Person{
string name;
string homeTele;
string email;
public:
Person(string newname,string tele,string email);
~Person(void);
   string getName()const;
   string getHomeTele()const;
   string getEmail() const;
   void setHomTele(string newTele );
   void  setEmail( string newEmail );
   bool  operator==( const Person& p);     
  friend ostream& operator<<(ostream& o,  const Person& p);
};
#endif
.cpp文件
#include "Person.h"
Person::Person(string newname,string tele,string email):name(newname),homeTele(tele),email(email)
{
}

Person::~Person(void)
{
}
   string getName()const{ return name;} 
   string getHomeTele()const{return homeTele;}
   string getEmail()const{return email;}
   void setHomTele(string newTele ){ homeTele=newTele;}
   void  setEmail( string newEmail ){ email=newEmail;    }
   bool  operator==(const Person& p){
  if(this->name==p.getName())
  return true;
  else
  return false;
   }     
    ostream& operator<<(ostream& o,  const Person& p){
   
  o<<p.getName()+"_"+p.getHomeTele()+"_"+p.getEmail();
  return o;
   }
还有,它还说二进制“operator ==”的参数太少,不是有隐含的this形参吗?
[解决办法]
把编译器提示的错误 贴出来
[解决办法]
重载相等符号你试试
Person & operator==(const Person& p)
实现:
Person & Person::operator=(const Person & p)
{
     name=p.name;
     homeTele=p.homeTele;
     email=p.email;
     return *this;
}
[解决办法]
定义没有加类作用域 Person::

热点排行