求大佬看一下什么错误

#include
#include
#include
using namespace std;
class mobile

//普通手机类,作为基类
{
private:
char mynumber[12]; //机主的电话号码
char m_type[40]; //手机型号
float price; //手机价格
public: mobile() //构造函数
{
init("00000000000","Non_type",0);
}

void init(char number,char *pt,float pri); //初始化
void dial(); //拨打电话
void answer(char othernumber[]); //接听电话
void hangup(); //挂断电话
void show(); //显示普通手机信息
};
void mobile::init(char *number,char *pt,float pri) // 赋值
{
strcpy(mynumber,number);
strcpy(m_type,pt);
price=pri;
}
void mobile::dial()
{
cout<<"Dialing number is"<<mynumber<<endl; cout<<"Dialing on..."<<endl;
}
void mobile::answer(char *othernumber)
{
cout<<"Answering number is"<<othernumber<<endl;
cout<<"Answering in..."<<endl;
}
void mobile::hangup()
{ cout<<"Hanging up..."<<endl;
}
void mobile::show()
{

cout<<mynumber<<'\t'<<m_type<<'\t'<<price<<endl;
}
class smartphone:public mobile//派生类,public是继承修饰符
{
private:
char OS[20]; //交互式操作系统,派生类新增数据成员
int memory; //存储卡容量,派生类新增数据成员
public:
smartphone() { init("00000000000","Non_type",0,"Non_OS",0); }
void init(char *number,char *pt,float pri,char *os,int mem); //派生类初始化
void send(char othernumber[],char message[]); //发送短信
void showmemory(); //显示内存大小
void show(); //显示智能手机信息
};
void smartphone::init(char *number,char *pt,float pri,char *os,int mem)//函数覆盖
{ mobile::init(number,pt,pri); //调用基类成员函数
strcpy(OS,os); //操作系统初始化
memory=mem; //内存初始化
}
void smartphone::send(char othernumber[],char message[])
{

cout<<"Sending message is "<<message<<"to"<<othernumber<<endl;
cout<<"Sending on…"<<endl;
}
void smartphone::show()
{ mobile::show();
cout<<OS<<'\t'<<memory<<endl;
}
void smartphone::showmemory()
{ cout<<"Memory is:"<<memory<<endl;
}
int main()
{ mobile m; //声明手机对象
smartphone m1; //声明智能手机对象
char Number[12];
char Pt[40];
char Os[20];
float Pri;
int Mem;
/*char *p;
char *q;
char *t;
p=Number;
q=Pt;
t=Os;
/
cin>>Number>>Pt>>Pri>>Os>>Mem;
smartphone m2.init(Number,Pt,Pri,Os,Mem);
m.init("1111111111","motorola",3000); //调用基类的init
m.dial();
m.answer("2222222222");
m.hangup();
m.show();
//调用派生类的init
m1.init("3333333333","sungxing",5000,"windows8",2048); //调用派生类的init
m1.send("2222222222","hello!");
m1.dial();
m1.answer("2222222222");
m1.hangup();
m1.showmemory();
m1.show();
return 0;
}

void init(char number,char *pt,float pri);
->
void init(char *number,char *pt,float pri);

smartphone m2.show();
->
smartphone m2;
m2.show();

另外还有很多字符串的问题,在gcc上不允许那么写,需要禁掉 [-Wwrite-strings]

问题解决的话,请点下采纳