0

我有以下 c++ 代码,并且我在其中遇到构建错误。我无法找出错误,请任何人帮助。这是代码

#include<stdlib.h>
#include <iostream.h>
using namespace std;

class PropertyPortal;
class PropertyType;
class Commercial;
class Residential;
void main()
class PropertyPortal  
{
private:

        int NoOfUsers;
        int UAN;
        char* Name;

        public:
       void setNoOfUsers(int no); 
       void setUAN(int u);      
       void setName(int n); 
       int getNoOfUsers(); 
       int getUAN(); 
       char getName();
       int getPropertyInfo(); 
       //constructors of the class
       PropertyPortal(); 
       PropertyPortal(int, int, char);
       //destructor of the class
       ~PropertyPortal ();

       void setNoOfUsers(int no)
       {
                        NoOfUsers>=1;
                        }
                        void setUAN (int u);
                        {
                        NoOfUsers>=0;
                        UAN>=1;
                        Name=Null;
                        }
                        PropertyPortal (int no, int u, char* n)
                        {
                        NoOfUsers>=no;
                        UAN=u
                        Name=VU-Real-Estate;
                        }
                        PropertyPortal (int no, int u, char* n)
                        {
                        NoOfUsers>=no; 
                        UAN=u
                        Name=n;
                        }
                        void setNoOfUsers(int no)
                        void setUAN(int u)
                        void setName(char n)
                        int getNoOfUsers()
                        int getUAN()
                        char getName()    
                        int getPropertyInfo();
class PropertyType  
{
      private:
              char* City
public:
        void setCity(char c); 
        char getCity(char c); 
        void getPropertyType();
        PropertyType();
        PropertyType(char);
        ~PropertyType();
        PropertyType();
{
        City=Null
}
        PropertyType(char* cCity)
{
        City=cCity
        }
        };          
class Commercial:PropertyType     
{
private:
        int PropertyValue
public:
       void setPropertyValue();
       int getPropertyValue();
       void getPlots();
       Commercial();
       Commercial(char);
       ~Commercial();
};

class Residential:PropertyType     
private:
        int PropertyValue;
public:
       void setPropertyValue();
       int getPropertyValue();
       int getPropertyCategory();     
};
void main ()
{
cout<<"This is just a prototype of all classes";
cout<<endl;
system("PAUSE");
}

我在网上遇到错误2,32:2,10,103请帮助我找出问题所在以及代码发生了什么。

更新 在此处输入图像描述

4

1 回答 1

2

许多错误来自于在类中同时拥有函数声明和定义。做任何一个

class Foo
{
    public:
        int func();
};
int Foo::func() { return 5; }

或者

class Foo
{
    public:
        int func() { return 5; }
};

不是

class Foo
{
    public:
        int func();
        // ...
        int func() { return 5; }
};

我还看到您打算有两个构造函数,一个具有默认值,一个从创建者那里获取值。但是你这样做:

PropertyPortal (int no, int u, char* n)
{
    NoOfUsers>=no;
    UAN=u
    Name=VU-Real-Estate;
}
PropertyPortal (int no, int u, char* n)
{
    NoOfUsers>=no; 
    UAN=u
    Name=n;
}

我怀疑你真的是说

PropertyPortal ()
{
    NoOfUsers=1;
    UAN=1;
    Name="VU-Real-Estate";
}
PropertyPortal (int no, int u, char* n)
{
    NoOfUsers=no; 
    UAN=u
    Name=strdup(n); // Remember to free() this later.
}

实际上,最好将char*s 全部废弃,然后使用std::string,也许还可以阅读有关初始化列表的信息。

于 2012-11-30T09:53:14.460 回答