#include <bits/stdc++.h>
using namespace std;
class Person
{
const string idNum;
string name;
string *tel;
string qq;
string weixin;
string address;
public:
Person() {}
Person(string idnum, string pname, string *ptel, string pqq, string pweixin, string paddress) : idNum(idnum)
{
name = pname;
string *p = ptel;
int iLen = 0;
while (p[iLen] != "")
{
iLen++;
// *p++;
p++;
// a++;
}
tel = new string[iLen + 1];
for (int i = 0; i < iLen + 1; i++)
{
tel[i] = ptel[i];
// cout<<p[i]<<" ";
// cout<<ptel[i]<<" ";
}
qq = pqq;
weixin = pweixin;
address = paddress;
}
Person(const Person &q) : idNum(q.idNum)
{
name = q.name;
string *p = tel;
int iLen = 0;
while (p[iLen] != "")
{
iLen++;
// *p++;
p++;
// a++;
}
for (int i = 0; i < iLen; i++)
{
tel[i] = q.tel[i];
}
qq = q.qq;
weixin = q.weixin;
address = q.address;
}
void setName(string name)
{
this->name = name;
}
string getName()
{
return this->name;
}
void setQQ(string QQ)
{
qq = QQ;
}
string getQQ()
{
return this->qq;
}
void setweixin(string weixin)
{
this->weixin = weixin;
}
string getweixin()
{
return this->weixin;
}
void setaddress(string address)
{
this->address = address;
}
string getaddress()
{
return address;
}
void setTel(string *tel)
{
string *p = tel;
int n = 0;
while (p[n] != "")
{
n++;
p++;
}
for (int i = 0; i < n; i++)
{
this->tel[i] = tel[i];
}
delete p;
}
string *getTel()
{
return tel;
}
void toString()
{
cout << idNum << " " << name << " ";
string *p = tel;
int iLen = 0;
while (p[iLen] != "")
{
iLen++;
// *p++;
p++;
// a++;
}
for (int i = 0; i < iLen; i++)
{
cout << tel[i] << " ";
}
cout << qq << " " << weixin << " " << address << endl;
delete p;
}
};
class AddressList
{
private:
Person *per;
int count; //聯系人數量
int capacity; //容量
public:
AddressList(Person *p, int n, int m)//n:人數 m:容量
{
per=new Person[m];
for(int i=0;i<n;i++)
{
per[i]=p[i];//報錯,請問如何將Person陣列賦值給Addresslist的成員物件per呢?
// per[i](*(p[i]));
}
count=n;
capacity=m;
}
// 增加聯系人(在尾部增加)
// void addPerson(Person p){
// }
void pp()
{
per[0].toString();
}
};
int main()
{
const string idNum = "111111111111111"; //未考慮位數不對的情況
string name = "aaa";
string tel[100] = {"2222222222", "333333333333"};
string qq = "44444444444444";
string weixin = "5555555555555555";
string address = "中國";
Person p1(idNum, name, tel, qq, weixin, address);
// cout<<p1.getaddress();
Person p[2]={( Person(idNum, name, tel, qq, weixin, address), Person(idNum, name, tel, qq, weixin, address))};
AddressList add(p,2,100);
add.pp();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/101660.html
標籤:C++ 語言
上一篇:ViScanf讀取資料不完整,ViRead能夠全部讀取資料
下一篇:約瑟夫問題
