最後就会形成下面这张图,左边工程师负责写类别并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;
}
>>: 【Day3】Firebase连接XBaseFragment建立X服务定位Koin使用
今天我们要对TWSIOpenService里面的getDailyTranctionStockData...
一、迁移式学习(Transfer Learning) 动机 我们在做监督式学习(Supervised...
Livewire 是 Laravel 的全端框架,能建立像 Vue 一样的动态页面的同时又能保有 L...
人们常说学语言在特定环境学会比较快,所以像是学英文把自己丢到美国去学是最快的,学台语就回家跟阿嬷吃饭...
Starts fast, stays fast Web App 的效能会直接影响使用者体验,也会影响...