c++学习笔记之成员函数
學了c++才知道什么是面向對象什么是面向過程。幼稚的我曾經還覺得c++和C語言差不多,接觸之后才知道c++是多么的難,光類和對象這個知識點就看了一天。什么構造函數析構函數,對象數組對象成員弄得我頭大,現在才知道為什么老師說c++是最難的語言,學c++就是在地獄里磨煉,從地獄出來就是天堂,會有會當凌絕頂一覽眾山小的感覺,希望自己能堅持到底,盡自己的最大努力把C++學好,不求泛而多,只求專而精。哎老大不小了,壓力巨大,希望早點工作減輕父母的壓力,回報自己的家人和那些對自己有知遇之恩的人,又想讀個博士,魚與熊掌不可兼得,希望自己從今天以后有個清楚的規劃,要超強的自律,爭取每一天都過得充實,不嘮那么多沒用的了,要學習了。一段有錯誤的代碼(關于c++中的成員函數)
#include<iostream> using namespace std; class time {void set_time(void);void show_time(void);int hour;int minute;int sec;} ;time t;int main(){set_time;show_time;return 0;}int set_time(void){cin>>t.hout;cin>>t.minute;cin>>t.sec;}int show_time(void){cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;}這段代碼有四個錯誤
(1)set_time和show_time函數放在main函數之后但之前卻未聲明
(2)set_time和show_time函數按time的成員函數來聲明的但定義的時候確是按一般函數定義的。
(3)類里面的成員只要沒有聲明均按私有成員處理,這是不能調用的,但是在set_time和show_time函數都調用了。
(4)沒有返回函數。
下面貼上按一下要求修改的代碼
(1)將數據成員改為私有的
(2)將輸入和輸出的功能由成員函數實現
(3)在類體內定義成員函數
#include<iostream> using namespace std; class time {public:void set_time(void) {cin>>hour;cin>>minute;cin>>sec; } void show_time(void) {cout<<hour<<":"<<minute<<":"<<sec<<endl; }private:int hour;int minute;int sec; }; time t; int main() {t.set_time();t.show_time();return 0; }進一步修改明確類成員函數的各種定義方法
在類體內聲明成員函數,在類外定義成員函數,類外定義成員函數要用到作用域::
#include<iostream> using namespace std; class time {public:void set_time(void);//原來沒分號,現在有分號void show_time(void);private:int hour;int minute;int sec; }; time t; void time::set_time(void)//利用作用域在類外對成員函數進行定義 {cin>>hour;cin>>minute;cin>>sec; } void time::show_time(void) {cout<<hour<<":"<<minute<<":"<<sec<<endl; } int main() {t.set_time();t.show_time();return 0; }?
總結
以上是生活随笔為你收集整理的c++学习笔记之成员函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以张鸿蒙系统的手机,搭载鸿蒙系统的手机真
- 下一篇: s3c2440移植MQTT