4个回答
展开全部
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student();
Student(string i,string n,string g):id(i),name(n),gra(g){}
string GetValue();
private:
string id,name,gra;
};
string Student::GetValue()
{
return this->id; // 返回当前对象的id
}
int main(void)
{
Student s1("020112","张XX","软件一班");
Student s2("020113","黄XX","软件二班");
cout<<"s1.id="<<s1.GetValue()<<endl; // s1对象调用id
return 1;
}
追问
可以不用#include 做到访问对象的数值吗?
追答
可以用char数组。
展开全部
//要调用的话,只能通过相应函数调用
#include <iostream>
#include <string>
using namespace std ;
class Student
{
public:
student(string, string, string);
setid(string sid);//数据存取函数
setname(string sname);//另一种方法:你可以删除 private: 代码,免去长长的函数定义
//但不是安全做法
setgra(string sgra);
getid();
getname();
getgra();
private:
string id ,name,gra;
};
int main()
{
Student s1 =Student("020112","张XX","软件一班");
Student s1 =Student("020112","黄XX","软件二班");
//以下是一个例子,你可以删除代码“ private: ”
//调用s1.id="020111";
// cout<<s1.id;
//获得同样效果
s1.setid("020111");//设置姓id
cout<<s1.getid;//获取id
return 0 ;
}
Student::Student(string x, string y,string z)
{
id=x;
name=y;
gra=z;
}
Student::setid(string sid)
{
id=sid;
}
Student::setname(string sname)
{
name = sname;
}
Student::setgra(string sgra)
{
gra=sgra;
}
Student::getid()
{
return id ;
}
Student::setnam()
{
return name ;
}
Student::getgra()
{
return gra;
}
追问
可以不用#include 做到访问对象的数值吗?
追答
可以啊,像楼上说的那样
源代码应该为#include ,应该有h的
在这里,该语句是为了使用string类,他在头文件string.h中,用来储存字符数据,你用其他方法储存数据也行,什么指针,char,甚至int 也可以(此时要强制转换),随便你喜欢。
除非你的源代码没有#include 也能正常编译,使用string类,否者,要添加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 string id, name, gra弄成public的,不要private,这样就可以s1.id, s2.name访问了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在类中申明一个public的方法如:
string getId()
{
return id;
}
string getId()
{
return id;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询