Day6-标头档2

最後就会形成下面这张图,左边工程师负责写类别并compile,右边负责写主程序并compiler,中间用介面当桥梁,最後藉由连结器拉再一起(linker)成可执行档交给User使用,三方都不知道对方的如何写的只看得到标头档.h。不可否认这种设计有点古老了,其实根本没人有兴趣看你我的程序码,这世界很少靠黑科技赚钱的公司大部分是靠商业模型赚钱(请君看看那可怜的世界前三大数据公司MapR只卖了5000万美金而另外两家直接被打到合并,股价一度从21跌到5元同期NASDAQ都从6000涨到16000,最终乘着2021景气好赶紧把公司卖掉),所以最新的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


<<:  Day3 - LINE 官方帐号聊天模式

>>:  【Day3】Firebase连接XBaseFragment建立X服务定位Koin使用

RestTemplate实作(二)(Day12)

今天我们要对TWSIOpenService里面的getDailyTranctionStockData...

DAY24 迁移式学习与预训练模型

一、迁移式学习(Transfer Learning) 动机 我们在做监督式学习(Supervised...

Day 02 | Laravel Livewire 基本介绍

Livewire 是 Laravel 的全端框架,能建立像 Vue 一样的动态页面的同时又能保有 L...

DAY3 安装Android Studio

人们常说学语言在特定环境学会比较快,所以像是学英文把自己丢到美国去学是最快的,学台语就回家跟阿嬷吃饭...

Progressive Web App Checklist: 优化检核清单项目说明 (7)

Starts fast, stays fast Web App 的效能会直接影响使用者体验,也会影响...