C 類的組合,c 組合類問題,急

2022-04-19 23:18:52 字數 1841 閱讀 7622

1樓:匿名使用者

return 0後面沒有分號

void get1()後面用的是中文分號

:birthday後面的括號裡面的引數不要加int,這不是宣告,而是直接使用year,month,day

get1和show1裡面使用了year,month,day,但它們不是people的成員,也無法訪問birthday.year,birthday.month,birthday.

day(因為data裡year,month,day是private的)

data的建構函式date(int year,int month,int day)只宣告瞭卻沒有定義

people沒有宣告預設建構函式,因此people student就會出錯

大概就這些。

c++組合類問題,急

2樓:匿名使用者

#include//c++的輸入輸出流標頭檔案

#include//數學標頭檔案,包含了大部份的數學公式

using namespace std;//引用 名稱空間 std 是標準名稱空間

class point

//建構函式,初始化x y

point(point &p);//過載建構函式,把已有的point拷貝到新的point

int getx() //提取 x的值

int gety() //提取y 的值

private:

int x,y;

拷貝函式的實現

//類的組合

class line

//返回len的值

private:

point p1,p2;

double len;

};//組合類的建構函式

line::line(point xp1,point xp2)

:p1(xp1),p2(xp2)

//組合類的拷貝建構函式

//主函式

int main()

point myp1(1,1),myp2(4,5);

初始化 myp1,myp2

隱性呼叫了 myp1.myp1(1,1)

myp2.myp2(4,5)

line line(myp1,myp2);

初始化 line myp1 myp2 作為建構函式的引數

隱性呼叫 line.lne(myp1,myp2)

line line2(line); 初始化line2

隱性呼叫 line2.lne(line)

把line中的資料拷貝到 line2

cout<<"the length of the line is :";

cout<

先執行 line.getlen() 返回 line的len值

然後輸出 換行

cout<<"the length of the line2 is :";

cout<

同line

3樓:考潤劉原

你雖然在類ca中有一個類cb的指標,

但是,這個指標沒有被初始化啊!

你直接進行

a.callcb();

程式會執行

b->funa();

問題是:這個時候的指標

b,並沒有指向任何

cb物件,訪問肯定會出錯的!

C 的一些問題 C 呼叫C 類的疑問

我也是初學c 的!說的不對的還請指點!看完你上面的寫的沒太看懂 可能我還沒學到你那一章 不過有一點可以確定的是 aliastomyclass 是 方法 不是 變數名 這有點像 關鍵字 不能用在做 變數名 一樣,方法 可呼叫但也不能用來做變數名。而且很明白的一點 aliastomyclass 不是 變...

關於c派生類中虛擬函式的問題,C 已經在派生類中重定義了抽象類中的純虛擬函式,為什麼還不讓我用派生類定義物件!?

如果是虛擬函式的話,在派生類中重新定義其函式體時,不會導致同名覆蓋.當用基類指標指向派生類物件並呼叫虛擬函式時,執行的是在派生類中重新定義的虛擬函式的函式體.虛擬函式必須要在基類用virtual修飾才能為虛擬函式,派生類若重定義該函專數,則無論是否有屬virtual關鍵字都是虛擬函式。你要判斷派生類...

C類的疑問

void set int i,int j 不是建構函式啊。換成b int i,int j 實現的時候也是b b int i,int j a i a i 是負責呼叫基類建構函式來初始化基類資料成員的。在建構函式的時候這麼寫格式才對吧。你在成員函式那裡調基類的建構函式格式是不對的吧。同學習中,說的不對別...