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函式...