返回指针的函数
2019-12-22 16:00:51来源:博客园 阅读 ()
返回指针的函数
//有一个使用cout<<GetName()的函数,每次执行结果都是只输出了传入字符串的首地址,即第一个字符,想了很久没有找到办法,后来将函数类型改为指针函数,结果就对了,仍然不是很明白为什么可以这样输出,隐隐觉得函数的返回值仍然是一个地址,也许是cout函数的作用把后面的字符也输出了,先记下来,之后再慢慢找原因
//return类型为指针的函数,用cout输出,返回的是整个字符串
#include<iostream>
#include<cstring>
using namespace std;
class Person {
public:
char name[40];
char tel[15];
char *GetName(){return name;};
char *GetTel(){return tel;};//定义指针型函数,输出才是整个字符串,非常重要!!! ,形参是地址,所以实参传入的也是地址
Person(char *Name,char*Tel){strcpy(name,Name);strcpy(tel,Tel);};//
};
class Student
{
private:
char major[18];
public:
Student(char*Major){strcpy(major,Major);};
char *GetMajor(){return major;};
};
class Teacher
{
private:
char course[15];
public:
Teacher(char*Course){strcpy(course,Course);}
char *GetCourse(){return course;};
};
//派生类:继承Person和Student,Teacher类
class StudentTeacher:public Person,public Student, public Teacher
{
public:
StudentTeacher(char*name,char*tel,char*major,char*course):Person(name,tel),Student(major),Teacher(course) //基类的初始化,使用初始化列表一次按照继承顺序给基类初始化
{};
};
int main()
{
char name[40], tel[15], major[18], course[15];// 分别代表名字、电话、专业、课程
cin >> name >> tel >> major >> course;
StudentTeacher st(name, tel, major, course);
cout << st.GetName() << endl;
cout << st.GetTel() << endl;
cout << st.GetMajor() << endl;
cout << st.GetCourse() << endl;
cin >> name >> tel; //修改名字和电话
strcpy(st.name, name);
strcpy(st.tel, tel);
cout << st.GetName() << endl;
cout << st.GetTel() << endl;
cout << st.GetMajor() << endl;
cout << st.GetCourse() << endl;
return 0;
}
原文链接:https://www.cnblogs.com/cloverlp/p/12081322.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:c++-类与类的关系
下一篇:c++-继承的学习
- C++ 转换函数搭配友元函数 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ this指针 2020-06-03
- C++ const成员函数 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash