对象的简单使用

来源:互联网 发布:知乎 永久封号 编辑:程序博客网 时间:2024/06/04 18:36

对象的使用

对象指针:

当定义对象指针后,可以利用对象指针访问其指向的对象的公有成员,语法形式:

对象指针->公有成员;

对象引用

Student stu(1,”wang”,’M’);

Student rstu=stu;

This指针

它是一种特殊的指针,它指向员函数当前操作的数据所属对象。

对象数组:

 

普通对象做函数参数:

与普通变量做函数参数一样。

例子:

#include<iostream>#include<cstring>using namespace std;class Student{public:Student(int pId,char* pName,char pSex);int getId(){return id;}char* getName(){return name;}char getSex(){return sex;}private://public:int id;char* name;char sex;};Student::Student(int pId,char* pName,char pSex){id=pId;name=new char[strlen(pName)+1];if(name!=0)strcpy(name,pName);sex=pSex;}class Admin{public:Admin(int pId);void printStudent(Student stu);private:int id;};Admin::Admin(int pId){id=pId;}void Admin::printStudent(Student stu){cout<<"The student information is: "<<"id: "<<stu.getId()<<","<<"name: "<<stu.getName()<<","<<"sex: "<<stu.getSex()<<endl;//cout<<"The student information is: "<<"id: "<<stu.id<<","<<"name: "<<stu.name<<","<<"sex: "<<stu.sex<<endl;}int main(){Student stu(1,"wang",'M');Admin admin(11);//为什么? admin.printStudent(stu);return 0;}


对象指针做函数参数:

与普通变量指针做函数参数的用法一样。

#include<iostream>#include<cstring>using namespace std;class Student{public:Student(int pId,char* pName,char pSex);int getId(){return id;}char* getName(){return name;}char getSex(){return sex;}void setId(int pId){id=pId;}void setName(char* pName){name=new char[strlen(pName)+1];if(name!=0)strcpy(name,pName);}void setSex(char pSex){sex=pSex;}private://public:int id;char* name;char sex;};Student::Student(int pId,char* pName,char pSex){id=pId;name=new char[strlen(pName)+1];if(name!=0)strcpy(name,pName);sex=pSex;}class Admin{public:Admin(int pId);void printStudent(Student stu);void updateStudent(Student* pStu,int pId);void updateStudent(Student* pStu,char* pName);void updateStudent(Student* pStu,char pSex);private:int id;};Admin::Admin(int pId){id=pId;}void Admin::printStudent(Student stu){cout<<"The student information is: "<<"id: "<<stu.getId()<<","<<"name: "<<stu.getName()<<","<<"sex: "<<stu.getSex()<<endl;}void Admin::updateStudent(Student* pStu,int pId){pStu->setId(pId);}void Admin::updateStudent(Student* pStu,char* pName){pStu->setName(pName);}void Admin::updateStudent(Student* pStu,char pSex){pStu->setSex(pSex);}int main(){Student stu(1,"wang",'M');Admin admin(91);admin.printStudent(stu);Student* pStu=&stu;admin.updateStudent(pStu,99);admin.printStudent(stu);admin.updateStudent(pStu,"zhao");admin.printStudent(stu);admin.updateStudent(pStu,'F');admin.printStudent(stu);return 0;}


对象引用做函数参数

与普通变量做函数参数的用法一样。



0 0
原创粉丝点击