課程
/后端開發
/C++
/C++遠征之封裝篇(下)
常對象成員和常成員函數的一般應用環境是什么樣的,即在什么情況下會使用這兩種
2015-07-25
源自:C++遠征之封裝篇(下) 5-1
正在回答
常成員函數:如果一個成員函數對類中數據成員只作訪問而不作直接或間接的修改,則最好將此函數設置為常成員函數,以明確表示它對數據成員的保護性。
常對象:必須進行初始化,常對象只能調用常成員函數。
#include <iostream>
#include<stdlib.h>
using namespace std;
class A
{
public:
A();
void C();
void B()const;
private:
int x;
double y;
};
A::A() :x(10), y(0.0){}
void A::C()
cout << "C called" << endl;
}
void A::B()const
cout << "B called" << endl;
void main(void)
const A x;
x.B();
x.C();
system("pause");
直接在private中創造一個成員函數?
public里只用一個get 而不用set? ?
意義不是一樣嗎?
謝謝你仔細的解答,非常感謝!
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-27
常成員函數:如果一個成員函數對類中數據成員只作訪問而不作直接或間接的修改,則最好將此函數設置為常成員函數,以明確表示它對數據成員的保護性。
常對象:必須進行初始化,常對象只能調用常成員函數。
#include <iostream>
#include<stdlib.h>
using namespace std;
class A
{
public:
A();
void C();
void B()const;
private:
int x;
double y;
};
A::A() :x(10), y(0.0){}
void A::C()
{
cout << "C called" << endl;
}
void A::B()const
{
cout << "B called" << endl;
}
void main(void)
{
const A x;
x.B();
x.C();
system("pause");
}
2015-09-02
直接在private中創造一個成員函數?
public里只用一個get 而不用set? ?
意義不是一樣嗎?
2015-07-29
謝謝你仔細的解答,非常感謝!