Hi guys I want to make an array of class objects....so that I can keep on creating as many objects during runtime as and when required I wrote the following code, but its giving me error:
class contact{
public:
string name;//ALL CLASS VARIABLES ARE PUBLIC
int phonenumber;
string address;
contact(){//Constructor
name= NULL;
phonenumber= NULL;
address= NULL;
}
void input_contact_name(string s){//fu开发者_如何学Pythonnction to take contact name
name=s;
}
void input_contact_number(int x){//function to take contact number
phonenumber=x;
}
void input_contact_address(string add){//function to take contact address
address=add;
}
}
int main(){
contact *d;
d= new contact[200];
string name,add;
int choice;//Variable for switch statement
int phno;
static int i=0;//i is declared as a static int variable
bool flag=false;
cout<<"\tWelcome to the phone Directory\n";//Welcome Message
cout<<"Select :\n1.Add New Contact\n2.Update Existing Contact\n3.Delete an Existing Entry\n4.Display All Contacts\n5.Search for a contact\n6.Exit PhoneBook\n\n\n";//Display all options
cin>>choice;//Input Choice from user
while(!flag){//While Loop Starts
switch(choice){//Switch Loop Starts
case 1:
cout<<"\nEnter The Name\n";
cin>>name;
d[i]->name=name;
cout<<"\nEnter the Phone Number\n";
cin>>phno;
d[i]->input_contact_number(phno);
cout<<"\nEnter the address\n";
cin>>add;
d[i]->input_contact_address(add);
i++;
flag=true;
}
}
return 0;
}
Please can some one out figure out the reason?? Thanks in advance
Many problems:
- Missing semicolon on the closing brace of the class, as maverik noted
- Use of
stringwithoutusing namespace std;orusing std::string;(or#include <string>for that matter) - Ditto #2 for
cinandcout(and<iostream>) d[i]->is wrong;d[i]is acontact&, not acontact*, so use.instead of->name= NULL;andaddress= NULL;are nonsensical --stringis not a pointer type, and already default-constructs to emptyphonenumber= NULL;is technically valid, but still 'wrong'
Also, good lord, use some whitespace in your code.
EDIT (in response to comment): Your constructor should look like:
contact() : phonenumber() { }
You forget the ;
class contact {
...
}; // <- ; is neccessary
加载中,请稍侯......
精彩评论