c類成員訪問
因為結構是一個集合,由若干成員構成,訪問其成員就用下面這個形式:
結構變數名.成員名
舉例如下:
struct person //定義結構類型
{
int weight,height;
float salary;
}
struct person zhangsan;//定義結構變數名
以下是訪問結構成員:
zhangsan.height=176;
zhangsan.salary=6588;
Ⅱ C++類中靜態對象成員的訪問!
類其實是個模型。
而對象就是找個這個模型製作的實體。
比如,類是造車的圖紙,對象就是找個圖紙造出的汽車。
類的成員是分級別的:protect,public,private。
在類內部定義的函數可以訪問任何一個變數,或者調用任何的類內部的函數,但是,如果被定義成private的話,對象是不能調用的,也就是對象只能調用定義為public的數據,如果你確實需要調用某個private的變數,你可以定義一個public的函數來返回這個變數,比如:
class
d
{
private:
int
a;
public:
int
getint(){return
a;}
......
}
這里你的對象不能調用a的,
也就是不能
int
b;
d
d;//假設已經寫好了構造函數
b=d.a;//這是錯誤的,
但是你可以
b=d.getint();
這樣就可以把a的值給b了。
所有的public的函數都可以通過
<對象>.<函數名>
的方式來調用
Ⅲ c ++私有成員訪問性
對,私有成員僅能在類內訪問,如果想訪問私有成員,應該在類的成員函數中訪問
Ⅳ C++的類成員函數如何訪問全局變數
全局變數一般這樣定義:
1、在*.cpp中定義 int myInt;
然後再在要用到的地方的.cpp里extern int myInt;
2、在stdafx.cpp中加入:
int myInt;
然後在stdafx.h中加入:
extern int myInt
這樣定義以後無論在什麼文件中都是可見的.
3、比較規范的是,先定義一個Glbs.h,把所有的全局變數原始定義放進去。然後定義一個Externs.h,把你先前定義在Glbs.h中的變數都加上extern。注意:如果你在Glbs.h中設置了初值,那麼在Externs.h中就不要加值了。然後調用時,第一次調用的#i nclude <Glbs.h>,以後調用的#i nclude <Externs.h>
附:
問:如何在VC++中使用全局變數,以使文檔中的所有類都能訪問。
答:把該變數放到該應用程序類的頭文件中的attribute處。然後,在程序的任何地方,你都可以用下面的方法來訪問該變數:
CMyApp *app=(CMyApp*)AfxGet-App();
app->MyGlobalVariable=…
用這個方法,不但可以定義全局變數,也可以定義全局對象。
例如:
MyClass MyObject;
CMyApp*app=(CMyApp*)AfxGet-App();
app->MyObject.MyFunction();
VC中使用全局變數的2種辦法及防錯措施
1. 對於全局變數存在和函數一樣的問題,為了在其他CPP文件中能夠訪問這些變數,必須在主文件的H文件中加上extern聲明,格式如下:
extern varibletype var; (聲明)
在主文件的CPP文件中定義
varibletype var; (定義)
例子:
AppWizard建立一個Test工程
那麼在Test.h中聲明extern CString cs;
在Test.app定義CString cs;
如果要定義整個工程的全局變數,在任何一個CPP文件中進行定義,然後在需要引用這個變數的文件中進行聲明。如全局變數很多可以選擇使用定義全局變數的.h文件,在需要的地方直接include頭文件即可,不需要寫那麼多extern了。
2.應用程序類的主頭文件處定義變數varibletype var,然後,在程序的任何地方,都可以用下面的方法來訪問該變數:
CClassApp *app=(CClassApp*)AfxGetApp();
app->var=
類似的,以上方法也可以定義全局對象
例子:
AppWizard建立一個Test工程
那麼在Test.h中聲明 CString cs;
使用的時候CTestApp *app=(CTestApp*)AfxGetApp();
app->cs="Global"
Ⅳ C中訪問修飾符有哪幾種
public
公有訪問。不受任何限制。private
私有訪問。只限於本類成員訪問,子類,實例都不能訪問。protected
保護訪問。只限於本類和子類訪問,實例不能訪問。internal
內部訪問。只限於本項目內訪問,其他不能訪問。protected
internal
內部保護訪問。只限於本項目或是子類訪問,其他不能訪問
Ⅵ C++成員類訪問類的方法
你這個「自己車」類和「自行車」類是什麼關系?還是完全沒有關系的兩個類?
如果自己車類是基類,自行車類繼承它,則孫子類腳踏車類繼承於自行車類,那麼可以訪問自己車類(祖類)的公有方法。
Ⅶ c++中可不可以在一個類中訪問另一個類的私有成員
可以,只要定義該類為另一個類的友元類即可。
友元類:
class A
{
friend class B
private: int aa;
};
class B
{
public:
void output()
{
cout << a.aa << endl;
}
private: A a;
}
使用友元類時:
(1) 友元關系不能被繼承。
(2) 友元關系是單向的,不具有交換性。若類B是類A的友元,類A不一定是類B的友元,要看在類中是否有相應的聲明。
(3) 友元關系不具有傳遞性。若類B是類A的友元,類C是B的友元,類C不一定是類A的友元,同樣要看類中是否有相應的申明。
(7)c類成員訪問擴展閱讀:
友元類使用注意事項:
1、友元可以訪問類的私有成員。
2、只能出現在類定義內部,友元聲明可以在類中的任何地方,一般放在類定義的開始或結尾。
3、友元可以是普通的非成員函數,或前面定義的其他類的成員函數,或整個類。
4、類必須將重載函數集中每一個希望設為友元的函數都聲明為友元。
5、友元關系不能繼承,基類的友元對派生類的成員沒有特殊的訪問許可權。如果基類被授予友元關系,則只有基類具有特殊的訪問許可權。該基類的派生類不能訪問授予友元關系的類。
參考資料來源:網路-友元類
Ⅷ c++類成員的訪問許可權
c++訪問許可權有三個,按照公開程度分為
public,protected,private。
1、public:就是公開的意思,對內外都開放舉個例子來說就是可以通過對象. 方法調用。
2.protected:受保護的意思,對於自己和繼承了它的子類提供訪問權。假設有A,B,C。B繼承A,B可以使用A內受保護內容而C不行。
3.private:只對自己內部成員公開訪問,繼承的子類也不能訪問。
下面是一張圖,忽略一下友元與包的概念
最後祝你學習順利
Ⅸ C語言 對結構體類型的變數的成員的訪問,無論成員是何種數據類型都可使用的運算符是()。
通常,訪問一個結構體的變數的成員使用的運算符是點;比如一個結構體變數為sudent,它有一個成員為name,要訪問結構體變數student中的成員name,直接可使用student.name來訪問;
補充:當我們定義了一個指向結構體變數的指針時,可用運算符->去訪問他的成員。
Ⅹ c++在類定義的外部,可以被訪問
C public的類成員
可以作為虛函數的是普通函數,析構函數。
使用虛函數的時候,訪問規則是在聲明的時候被確定的,而不是在被「子類重寫」的時候,虛函數的訪問規則不會受到來自被重寫的子類函數的影響,當某個對象A的引用B用來調用該對象的虛函數時,對於該對象A的一切聲明信息,都取決於該對象的引用B,而不是這個引用所引用的對象A。
(10)c類成員訪問擴展閱讀:
在C++中,類是支持數據封裝的工具,對象則是數據封裝的實現。C++通過建立用戶定義類支持數據封裝和數據隱藏。
在面向對象的程序設計中,將數據和對該數據進行合法操作的函數封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變數。每個給定類的對象包含這個類所規定的若干私有成員、公有成員及保護成員。
完好定義的類一旦建立,就可看成完全封裝的實體,可以作為一個整體單元使用。類的實際內部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。