码迷,mamicode.com
首页 > 编程语言 > 详细

c++怎么将一个类,拆分出接口类,和实现类

时间:2014-05-08 09:26:06      阅读:489      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   

还拿上一遍中定义的GradeBook类来实现:

bubuko.com,布布扣
#include <iostream>

using std::cout;
using std::endl;

#include <string> // program uses C++ standard string class.
using std::string;

#include <conio.h>

// GradeBook class definition
class GradeBook
{
public:
    // constructor initializes courseName with string supplited as argument.
    GradeBook(string name)
    {
        this->courseName=name;
    } // end GradeBook constructor

    // function to set the course name
    void setCourseName(string name)
    {
        this->courseName=name;// store the course name in the object.
    }// end function setCourseName

    // function to get the course name.
    string getCourseName()
    {
        return courseName;// return object‘s courseName
    }// end function getCourseName

    // display a welcome message to the GradeBook user
    void displayMessage()
    {
        // call getCourseName to get the courseName
        cout<<"Welcome to the grade book for \n"<<getCourseName()<<"|"<<endl;
    }// end function displayMessage
private :
    string courseName;
};// end class GradeBook

// function main begins program execution
int main()
{
    // create two GradeBook objects.
    GradeBook gradeBook1("CS101 Introduction to C++ programing");;
    GradeBook gradeBook2("CS102 Data Structures in C++");

    // display initial value of courseName for each GradeBook
    cout<<"gradeBook1 created for course:"<<endl;
    gradeBook1.displayMessage();
    cout<<"gradeBook2 created for course:"<<endl;
    gradeBook2.displayMessage();

    cout<<"Test the get function"<<endl;
    cout<<"gradeBook1 call getCourseName"<<gradeBook1.getCourseName()<<endl;
    cout<<"gradeBook2 call getCourseName"<<gradeBook2.getCourseName()<<endl;
    std::cin.get();

    return 0; // indicates successful termination.
}// end main
View Code

代码拆分结构:

bubuko.com,布布扣

定义出接口(头文件/GradeBook.h):

bubuko.com,布布扣
#include<string>
using std::string;

// GradeBook class definition
class GradeBook
{
public:
    // constructor initializes courseName with string supplited as argument.
    GradeBook(string name);
    // function to set the course name
    void setCourseName(string name);
    // function to get the course name.
    string getCourseName();
    // display a welcome message to the GradeBook user
    void displayMessage();
private :
    string courseName;
};// end class GradeBook
bubuko.com,布布扣

 

定义出实现类(源文件/GradeBook.cpp):

bubuko.com,布布扣
#include <iostream>
using std::cout;
using std::endl;

#include "GradeBook.h" // include definition of class GradeBook

// constructor initializes courseName with string supplited as argument.
GradeBook::GradeBook(string name)
{
    this->courseName=name;
} // end GradeBook constructor

// function to set the course name
void GradeBook::setCourseName(string name)
{
    this->courseName=name;// store the course name in the object.
}// end function setCourseName

// function to get the course name.
string GradeBook::getCourseName()
{
    return this->courseName;// return object‘s courseName
}// end function getCourseName

// display a welcome message to the GradeBook user
void GradeBook::displayMessage()
{
    // call getCourseName to get the courseName
    cout<<"Welcome to the grade book for \n"<<getCourseName()<<"|"<<endl;
}// end function displayMessage
bubuko.com,布布扣

 

在“源文件“下定义Main.cpp写main测试函数:

bubuko.com,布布扣
#include <iostream>
using std::cout;
using std::endl;

#include <conio.h>

#include "GradeBook.h" // include definition of class GradeBook

// function main begins program execution
int main()
{
    // create two GradeBook objects.
    GradeBook gradeBook1("CS101 Introduction to C++ programing");;
    GradeBook gradeBook2("CS102 Data Structures in C++");

    // display initial value of courseName for each GradeBook
    cout<<"gradeBook1 created for course:"<<endl;
    gradeBook1.displayMessage();
    cout<<"gradeBook2 created for course:"<<endl;
    gradeBook2.displayMessage();

    cout<<"Test the get function"<<endl;
    cout<<"gradeBook1 call getCourseName:"<<gradeBook1.getCourseName()<<endl;
    cout<<"gradeBook2 call getCourseName:"<<gradeBook2.getCourseName()<<endl;
    std::cin.get();

    return 0; // indicates successful termination.
}// end main
bubuko.com,布布扣

输出结果:

bubuko.com,布布扣

 

c++怎么将一个类,拆分出接口类,和实现类,布布扣,bubuko.com

c++怎么将一个类,拆分出接口类,和实现类

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/yy3b2007com/p/3714840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!