3 回答
![?](http://img1.sycdn.imooc.com/54584f3100019e9702200220-100-100.jpg)
TA贡献1807条经验 获得超9个赞
#include<iostream>
using namespace std;
class base
{
private:
int id;
char *name;
public: //下面的成员函数不应该私有,应该公有,才能在main里使用
int getId()
{return id;}
char *getName() //*char getName()改为char *getName()
{return name;} //return *name;改为return name;
void setId(int id)
{this->id=id;}
void setName(char *name)
{this->name=name;}
}; //类的最后挂号后面应该加分号,不能丢,切记
int main(int argc, char* argv[])
{
base b;
char *p="xxxxx";
b.setName(p);
cout<<b.getName()<<endl;
return 0;
}
另外再补充点,不知道对楼主有没有用,希望对你有帮助。
上面程序的改写:
#include<iostream>
#include<string> //string头文件
using namespace std;
class base
{
private: //把私有成员与下面成员函数里的参数区分,可以不利用指针,更方便
int ID; ////
string Name; //利用string类型,加头文件#include<string>
public:
int GetID()
{return ID;} ////
string GetName()
{return Name;} ////
void SetID(int id)
{ID=id;} //私有成员和函数参数区分,这样就可以不用到指针
void SetName(string name)
{Name=name;} //私有成员和函数参数区分,这样就可以不用到指针
};
int main(int argc, char* argv[])
{
base b;
string p="xxxxx";
b.SetName(p);
cout<<b.GetName()<<endl;
return 0;
}
![?](http://img1.sycdn.imooc.com/5458506b0001de5502200220-100-100.jpg)
TA贡献1820条经验 获得超10个赞
#include <iostream>
using namespace std;
class base
{
private:
int id;
public:
char *name;//这个不能私有
int getId()
{
return id;
}
char *getName()//这里错了
{
return name;//这里错了
}
void setId(int id)
{
this->id=id;
}
void setName(char *name)
{
this->name=name;
}
};
int main(int argc, char* argv[])
{
base b;
char *p="xxxxx";
b.setName(p);
cout<<b.getName();
system("pause");
return 0;
}
- 3 回答
- 0 关注
- 239 浏览
添加回答
举报