#ifndef ADD_H
#define ADD_H
#include <iostream.h>
#include <string.h>
class Add
{
 protected:
 char address[100];
 int age;
 public:
 Add(char*addr,int ag)
 {
 strcpy(address,addr);
 age=ag;
 }
 Add(Add A)
 {
 strcpy(address,A.address);
  age=A.age;
 }
 void setadd(char* addr)
 {
 address=addr;
 }
 void setage(int ag)
 {
age=ag;
 }
 void show()
 {
 cout<<"address is "<<address<<"and age is "<<age<<endl;
 }
 ~Add()
 {
 delete[]address;
 }
};#endif
#include <iostream.h>
#include <string.h>
#include "add.h"
void main()
{
Add pers("Shanghai",10001);
Add::show();
}
运行时出现
应用.cpp
e:\【电脑】c++示例\人员\add.h(6) : error C2236: unexpected 'class' 'Add'
e:\【电脑】c++示例\人员\add.h(6) : error C2143: syntax error : missing ';' before '{'
e:\【电脑】c++示例\人员\add.h(6) : error C2447: missing function header (old-style formal list?)
e:\【电脑】c++示例\人员\scores.h(7) : error C2504: 'Add' : base class undefined
执行 cl.exe 时出错.

解决方案 »

  1.   

    #include <iostream.h> 
    #include <string.h> 
    //类名称尽量规范化
    class CAdd 

    protected: 
    char address[100]; 
    int age; 
    public: 
    CAdd(char*addr,int ag) 

    strcpy(address,addr); 
    age=ag; 

    CAdd(CAdd &A) 

    strcpy(address,A.address); 
    age=A.age; 

    void setadd(char* addr) 

    //如此赋值是不行的
    //address=addr; 

    void setage(int ag) 

    age=ag; 

    void static show() 

    //静态成员函数不能调用 address age
    //cout <<"address is " <<address <<"and age is " <<age <<endl; 

    ~CAdd() 

    delete[]address; 

    }; 
    void main() 

    CAdd pers("Shanghai",10001); 
    CAdd::show(); 
      

  2.   

    Add(Add A)构造函数不能用自己的类做参数.你修改下看看.
      

  3.   

    #include <iostream> 
    #include <string> 
    using namespace std;
    //类名称尽量规范化 
    class CAdd 

    protected: 
    char address[100]; 
    int age; 
    public: 
    CAdd(char*addr,int ag) 

    strcpy(address,addr); 
    age=ag; 

    CAdd(CAdd &A) 

    strcpy(address,A.address); 
    age=A.age; 

    void setadd(char* addr) 

    //如此赋值是不行的 
    //address=addr; 

    void setage(int ag) 

    age=ag; 

    void static show(CAdd *ca) 

    //静态成员函数不能调用 address age 
    //CAdd *ca = this;
    cout <<"address is " <<ca->address<<"and age is " <<ca->age <<endl; 

    ~CAdd() 

    delete[]address; 

    }; 
    void main() 

    CAdd pers("Shanghai",10001); 
    CAdd::show(&pers);