iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
自我挑戰組

少年DevOps的C++奇怪漂流系列 第 6

Day6-標頭檔2

最後就會形成下面這張圖,左邊工程師負責寫類別並compile,右邊負責寫主程式並compiler,中間用介面當橋樑,最後藉由連結器拉再一起(linker)成可執行檔交給User使用,三方都不知道對方的如何寫的只看得到標頭檔.h。不可否認這種設計有點古老了,其實根本沒人有興趣看你我的程式碼,這世界很少靠黑科技軟體賺錢的公司大部分是靠業務/商業模型賺錢,所以最新的C++20與之後的標準可以不用標頭檔.h直接import package

接續Day4介面與類別實作細節都有了還缺一個主程式,為了隱藏實作細節主程式只引入GradeBook.h標頭檔

// Fig. 3.17: fig03_16.cpp
#include <iostream>
#include "GradeBook.h" // include definition of class GradeBook
using namespace std;

int main()
{
   // create two GradeBook objects; 
   // initial course name of gradeBook1 is too long
   GradeBook gradeBook1( "CS101 Introduction to Programming in C++" );
   GradeBook gradeBook2( "CS102 C++ Data Structures" );

   // display each GradeBook's courseName 
   cout << "gradeBook1's initial course name is: " 
      << gradeBook1.getCourseName()
      << "\ngradeBook2's initial course name is: " 
      << gradeBook2.getCourseName() << endl;

   // modify myGradeBook's courseName (with a valid-length string)
   gradeBook1.setCourseName( "CS101 C++ Programming" );

   // display each GradeBook's courseName 
   cout << "\ngradeBook1's course name is: " 
      << gradeBook1.getCourseName()
      << "\ngradeBook2's course name is: " 
      << gradeBook2.getCourseName() << endl;
} 

https://ithelp.ithome.com.tw/upload/images/20210918/20098886ZY8NAF1qBs.png


上一篇
Day5-如何超越Google
下一篇
Day7-三論標頭檔與Proxy Class
系列文
少年DevOps的C++奇怪漂流30

尚未有邦友留言

立即登入留言