c++中列舉常量與巨集常量的一點區別
#include <iostream>
using namespace std;
class A
{
enum { APPLE = 111 };
#define PEAR 333
public:
A()
{
cout << "APPLE: " << APPLE << endl; // 私有列舉常量,只有在類內部可以訪問。
}
};
int main()
{
A a;
//cout << "APPLE: " << APPLE << endl; // 編譯出錯,超出了訪問範圍
cout << "PEAR: " << PEAR << endl; // 正常執行,巨集替換,沒有範圍限制。
return 0;
}
相關推薦
c++中列舉常量與巨集常量的一點區別
#include <iostream> using namespace std; class A { enum { APPLE = 111 }; #define PEAR 333 p
C#中抽象方法與虛擬方法的區別
的人 -a 對象 abstract 數據 style html tools mar 學過C#的人應該都知道抽象方法與虛擬方法,而很多初學者對二者之間的區別並不是很了解。今天本文就來分析一下二者之間的區別。並附上實例加以說明。具體分析如下: 一、主要區別: 對於抽象方
C#中抽象方法與虛方法的區別
program 一個 註意事項 student 示例 創建 void 實現 pro 一、抽象方法:只在抽象類中定義,方法修飾符不能使用private,virtual,static. 抽象方法如下示: public abstract class People //聲明一個
C#中值型別與引用型別的區別
值型別是直接儲存一個數值,而引用型別是儲存對值的引用,這兩種型別分別儲存在不用的記憶體區域。而從記憶體上看,值型別是在棧中的操作,而引用型別是在堆中的操作。值型別是具體的那個數值所佔用的空間大小,而引用
c++中靜態函式與動態函式的區別
在C語言中,由於沒有類的概念,所以沒有靜態成員一說,在c中static的作用主要有2個: 一是隱藏功能,對於static修飾的函式和全域性變數而言二是保持永續性功能,對於static修飾的區域性變數而言。並且,因為存放在靜態區,全域性和區域性的static修飾的變數,都預設
C++中宣告物件與new物件的區別
new出來的物件是直接放在堆上,而宣告一個物件是放在棧中。換句話說,new出來的物件的生命週期是全域性的,譬如在一個函式塊裡new一個物件,可以將該物件的指標返回回去,該物件依舊存在。而宣告的物件的生命週期只存在於聲明瞭該物件的函式塊中,如果返回該宣告的物件,將會返回一個已經
C#中值傳遞與引用傳遞的區別
以值傳遞引數 當實參當作值來傳遞時,就產生了一個新的拷貝。 class Test { static void Main(string[] args) { int x=8; Fo(x);
C#中靜態方法與非靜態方法區別比較
C#靜態方法與非靜態方法的區別不僅僅是概念上的,那麼他們有什麼具體的區別呢?讓我們通過本文向你做一下解析。 C#的類中可以包含兩種方法:C#靜態方法與非靜態方法。那麼他們的定義有什麼不同呢?他們在使用上會有什麼不同呢? 讓我們來看看最直觀的差別:使用了static 修
C#中override重寫與new隱藏的區別,以及C#與Java的Override區別
在C#中:override重寫,是指對父類中的虛方法(標記為override)或抽象方法(標記為abstract)進行重寫,實現新的功能,它必須與父類方法的簽名完全一致,而且與父類方法的可訪問性也必須一致new方法隱藏,是指在子類中重新定義一個簽名與父類的方法相同的方法,這個
C和C++中經const修飾的常量、常變數和普通變數的區別
1.在C89標準下的const const 修飾的型別是一個常變數,不能作為陣列的下標。常變數不能作為左值。 如: const int a = 10; int b = a; //其編譯的過程和一般變數編譯的過程相同 //並不會把引用符號的地方替換為對應的資
C++中棧區 堆區 常量區
原文地址:http://blog.csdn.net/xcyuzhen/article/details/4543264 C++中棧區 堆區 常量區(由一道面試題目而學習) 2009-04-28 21:01 #include<iostream.h> void mai
C# 靜態常量與動態常量
目錄 什麼是靜態常量(Const)和動態常量(Readonly) 靜態常量(Const)和動態常量(Readonly)之間的區別 動態常量(Readonly)被賦值後不可以改變 總結 什麼是靜態常量(Const)和動態常量(Readonly) 先解釋下什麼
C++中靜態成員函式的常量型問題
這幾天看深入探索C++物件模型時,看到一句話:靜態成員函式不可以是常量函式,如下程式碼: class Test { virtual ~Test(); public: static void Sta
C程式中函式名與巨集名稱同名
C語言中,函式名稱和巨集名稱可以相同。可以參考下面的示例程式。 ///////////////////////////////////////////test.cpp #include <stdio.h> void print(int value) {
C#中集合ArrayList與Hashtable的使用
mov eat 重新 hashtable table bject remove 第一個 循環 C#中集合ArrayList與Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayL
C#中的繼承與覆蓋
sta 文章 class static color read con public ner 原文發布時間為:2009-03-03 —— 來源於本人的百度文章 [由搬家工具導入]//using System;//using System.Collections.Generic
C# 中的單精度與雙精度區別
數字 字節數 1.7 oat 處理 round col ble 浮點 單精度浮點數(float)與雙精度浮點數(double)的區別: (1)在內存中占有的字節數不同 * 單精度浮點數在機內占4個字節 *雙精度浮點數在機內占8個字節 (2)有效數字位數不同 *單精度浮點數有
C++中class(類)與繼承白話學習筆記
double 價格 體積 blog 示例 mes nta size ext 1.class(類) class Drink{//定義飲料類 public://public下面的東西可以被外面訪問 char* type;//飲料種類
C++中的類與菠菜平臺一條龍
數據 類的方法 函數 實例化 概念 抽象 () c++ 默認 面向菠菜平臺一條龍,需要的請搜索dsluntan.com 對象最大的特征就是提出了類和對象的概念。在以面向對象的方式開發應用程序時,將遇到的各種事物抽象為類,類中通常包含數據和操作數據的方法,用戶通過實例化類對象
C#中協變與抗變(逆變)
C#中協變與抗變(逆變) 在.NET 4之前,泛型介面是不變的,.NET4 通過協變 和抗變為泛型介面和泛型委託添加了一個重要的擴充套件。 協變和抗變指對引數和返回值的型別進行轉換 在.NET 中 引數型別是協變的; 也就是父類可以包含子類。 Cube 繼承於 Shape類;