Day3

英文C++ How To Program中文翻的文诌诌名为"程序设计的艺术"作为传奇"初阶"书籍CS101曾经的御用教材开头不废话直接介绍物件导向当然在13章还会有更深入的探讨,C++的类别有三个关键字public, protect与private,public代表公开的其中会定义一些可以在类别外部或子类别自由使用的方法或资料成员,在C++中类别的方法英文还是function,但为了方便区别,中文翻成跟JAVA一样的Method(方法),类别中第一个定义的通常是建构式Contractor负责初始化"物件",与类别同名不须定义返回值是其重要特徵,范例中的建构式有一个参数name并呼叫公开成员方法setCourseName,setCourseName受到建构式呼叫取得name参数会将private底下的私有资料成员courseName设为name。

由於courseName在private底下只有该class的Method才能读取这就实现封装,本篇范例写了一大票程序码就只是为了实现一个功能print(book_name)。

// Fig. 3.7: fig03_07.cpp
#include <iostream>
using std::cout; 
using std::endl;
using std::string;

// GradeBook class definition
class GradeBook
{
public:
   // constructor initializes courseName with string supplied as argument
   GradeBook( string name )
   {
      setCourseName( name ); // call set function to initialize courseName
   } // end GradeBook constructor

   // function to set the course name
   void setCourseName( string name )
   {
      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; // course name for this GradeBook
}; // end class GradeBook  

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

   // display initial value of courseName for each GradeBook
   cout << "gradeBook1 created for course: " << gradeBook1.getCourseName()
      << "\ngradeBook2 created for course: " << gradeBook2.getCourseName() 
      << endl;
   return 0; // indicate successful termination
} // end main

<<:  Day15. Inheritance & Super - Ruby 继承 part2

>>:  Day03 - 安装 Laradock 环境建置

[Day 03 - HTML] 想写网页,就从HTML开始

HTML (HyperText Markup Language,超文本标记语言),是一种用来建立网站...

Jetpack Compose - Stateful and Stateless

相较於传统的 Android View,Jetpack Compose 在 Android 开发上还...

Day 21:工作术

前言 工作术不只是工作上,还有自己想做的事情,目的都是在一样的时间内做更多事情,且挤出更多时间。 聪...

Day7 Sideproject(作品集) from 0 to 1 - 业务流程

昨天我们决定完功能了 今天来讲讲在正式开写code前 可以做的事情 相信可以让你之後写起来更流畅 虽...

用React刻自己的投资Dashboard Day6 - 建立图表区元件,串接API取得数据

tags: 2021铁人赛 React 上一篇使用静态的资料,将多张数据资料表画成线图呈现在网页上,...