C++类外定义

来源:互联网 发布:淘宝客服部工作计划 编辑:程序博客网 时间:2024/06/08 09:04

类内定义的成员函数,编译器会将其优先编译为内联函数。对于复杂的成员函数,则编译为普通的函数。

类外定义的成员函数的格式: 返回类型 类名::函数名(参数列表)

 

分文件类外定义:

定义一个类名.h的头文件,用来保存类的定义;

定义一个类名.cpp的文件,用来保存类中成员函数的定义,定义之前要加上#include "类名.h"


#include<iostream>#include<stdlib.h>#include<string>using namespace std;/*定义一个Teacher类,要求分别采用同文件类外定义和分文件类外定义的方式完成,具体要求如下:数据成员:            名字            性别            年龄成员函数:            数据成员的封装函数            授课teach*/class Teacher{public:    void teach();    void setName(string _name);    string getName();    void setGender(string _gender);    string getGender();    void setAge(int _age);    int getAge();private:    string m_strName;    string m_strGender;    int m_iAge;};void Teacher::teach(){    cout<<"现在上课"<<endl;}void Teacher::setName(string _name){    m_strName=_name;}string Teacher::getName(){    return m_strName;}void Teacher::setGender(string _gender){    m_strGender=_gender;}string Teacher::getGender(){    return m_strGender;}void Teacher::setAge(int _age){    m_iAge=_age;}int Teacher::getAge(){    return m_iAge;}int main(){    Teacher t;    t.setName("孔子");    t.setGender("男");    t.setAge(30);    cout<<t.getName()<<","<<t.getGender()<<","<<t.getAge()<<endl;    t.teach();    return 0;}

Teacher.h

#include<string>#include<stdlib.h>using namespace std;class Teacher{public:    void teach();    void setName(string _name);    string getName();    void setGender(string _gender);    string getGender();    void setAge(int _age);    int getAge();private:    string m_strName;    string m_strGender;    int m_iAge;};
Teacher.cpp

#include"Teacher.h"#include<iostream>using namespace std;/*定义一个Teacher类,要求分别采用同文件类外定义和分文件类外定义的方式完成,具体要求如下:数据成员:            名字            性别            年龄成员函数:            数据成员的封装函数            授课teach*/void Teacher::teach(){    cout<<"现在上课"<<endl;}void Teacher::setName(string _name){    m_strName=_name;}string Teacher::getName(){    return m_strName;}void Teacher::setGender(string _gender){    m_strGender=_gender;}string Teacher::getGender(){    return m_strGender;}void Teacher::setAge(int _age){    m_iAge=_age;}int Teacher::getAge(){    return m_iAge;}int main(){    Teacher t;    t.setName("孔子");    t.setGender("男");    t.setAge(30);    cout<<t.getName()<<","<<t.getGender()<<","<<t.getAge()<<endl;    t.teach();    return 0;}


孔子,男,30现在上课





0 0
原创粉丝点击