乙個類的定義,關於CONST的

時間 2025-02-25 12:15:03

1樓:網友

static const int maxsize = 100;

這句是錯。的。不能在類裡邊賦static資料成員的初值。

必須在類外賦。

在類外這樣寫:int account::maxsize=100;

char date[maxsize][20]; 錯是因為你的maxsize在用之前沒定義。

總的說,程式組織有錯誤;

可以像下面這樣來;

static const int maxsize=100;

class account{

private:

char name[20];

char date[maxsize][20];

int money[maxsize];

int cnt; /記錄運算元。

int sum;

static int total;

public:

account(char*);

account();

void accountin(char*, int);

void accountout(char*, int);

char* getname() const;

void disp();

static void total();這個total()函式與資料成員同名了。要改掉。

friend void compare(account&, account&);

int account::total=0;

2樓:網友

兩種方法:

char date[;

3>函式不應該和變數同名。

為什麼類裡要有const函式,const函式在類裡有什麼作用?

3樓:網友

有兩種const函式,宣告如下:

1、const t func();

2、t func() const;

第一種表示返回的是const的型別,也即返回的值不能作為左值,樓主懂的。

第二種表示該成員函式不能修改其成員變數的值,即該函式不能改變任何該類的非靜態成員的值。

4樓:網友

const是乙個c語言的關鍵字,它限定乙個變數不允許被改變,產生靜態作用。使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別。

人**的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。另外const在其他程式語言中也有出現,如c++、php5、

c#.net、hc08 c。

主要作用。1)可以定義const常量,具有不可變性。

例如:const int max=100; max++會產生錯誤;

例如: void f(const int i) 編譯器就會知道i是乙個常量,不允許修改;

3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!

如(1)中,如果想修改max的內容,只需要:const int max=you want;即可!

4)可以保護被修飾的東西,防止意外的修改,增強程式的健壯性。 還是上面的例子,如果在函式體內修改了i,編譯器就會報錯;

例如: void f(const int i)

5) 可以節省空間,避免不必要的記憶體分配。 例如:

#define pi //常量巨集。

const double pi=; //此時並未將pi放入ram中 ..

double i=pi; //此時為pi分配記憶體,以後不再分配!

double i=pi; //編譯期間進行巨集替換,分配記憶體。

double j=pi; //沒有記憶體分配。

double j=pi; //再進行巨集替換,又一次分配記憶體!

const定義常量從彙編的角度來看,只是給出了對應的記憶體位址,而不是像#define一樣給出的是立即數,所以,const定義的常量在程式執行過程中只有乙份拷貝,而#define定義的常量在記憶體中有若干份拷貝。

6) 提高了效率。

編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為乙個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高。

5樓:網友

const 對於類的封裝是很有好處的,要知道用const定義後,其值是不能隨便改變的,相當於乙個常量。如果類中的成員能隨便改變其屬性,類就會很混亂,**的重複利用就很差,不利於程式設計。

如何定義類陣列c,C 如何定義一個類的陣列物件

飛鷹 物件陣列的定義 類名 陣列名 元素個數 eg student asa 10 有10個元素的學生類物件陣列 組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。陣列是在程式設計中,為了處理方便,把具有相同型別的若干變數按有序的形式組織起來的一種形式。擴充套件資料 初始化a.在...

c中怎麼定義類,c 中怎麼定義一個類

using system public class desk 基類desk 設定desk的資訊 public void setinfo int len,int wid,int hei 列印desk的引數資訊 public void showinfo t width t height length,w...

如何定義動態的物件陣列,如何定義一個動態的物件陣列?

切切切 如果使用的是c語言的話,用malloc函式,定義動態陣列。例如 int a int malloc sizeof int 10 分配10個int型別的陣列,同int a 10 普通陣列分配在棧 stack 裡面,由變壓器統一分配和 動態陣列則定義在堆 heap 裡面,分配後要呼叫用free函式...