c 建構函式過載,C 建構函式過載的問題?

時間 2021-09-04 03:24:51

1樓:匿名使用者

應該是object_1(10) 呼叫 sum(int);

object_2(10.5) 呼叫 sum(double);

因為c++在呼叫函式是會自動識別資料型別,如果你把10改為10.0,也是呼叫sum(double)了

主要看你的引數是什麼型別的,如果是整型就呼叫sum(int);

浮點型的呼叫sum(double);

2樓:匿名使用者

過載函式的呼叫是根據引數型別來區分的,

sum object-1(10)會呼叫sum(int i),因為10是int,

sum object-1(10.5)則呼叫sum(double k),

因為10.5是double。

3樓:匿名使用者

根據實際引數來決定。一個是int 一個是double;

object_1(10) 呼叫 sum(int);

object_2(10.5) 呼叫 sum(double);

**中10,5應為10.5

4樓:匿名使用者

所謂函式過載就是指同一個函式名可以對應多個函式的實現。根據帶有不同型別,不同樹木的引數,和返回值來判斷要使用哪個函式。

5樓:匿名使用者

我在vs2005下測試了一下,首先呼叫的是sum(int),但是如果把sum(int)刪除的話,sum(double)將會被呼叫

c++建構函式過載的問題?

6樓:和小敘

你那不叫重灌,叫語法錯誤。你在定義hujiaoqi類的時候已經實現建構函式的過載了,即一專個是無參的建構函式hujiaoqi() ,一個是有參的hujiaoqi(int),類的建構函式只呼叫一次,而且不管有多少個建構函式,屬只會呼叫其中一個,並且是在定義物件的時候自動呼叫的,具體是呼叫哪個根據定義物件時傳入的引數來決定。 即你上面寫的hujiaoqi h()

7樓:匿名使用者

h(i); //過載

這裡有問題麼?

c++ 建構函式和解構函式可以過載嗎

8樓:匿名使用者

建構函式可以被過載,因為建構函式可以有多個且可以帶引數。

解構函式不可以被過載,因為解構函式只能有一個,且不能帶引數。

c++中的建構函式可以被過載嗎?舉個例子?

9樓:匿名使用者

當然可以。。版

權public class test

test(string s)

public static void main (string main)}

10樓:匿名使用者

可以,也經常會過載,最常見的是無慘建構函式和有引數的建構函式,例子我就不舉了,如果沒幫助就無視吧。

c++建構函式及其過載問題

11樓:心願

看不出來有過載 第一處劃線的只是定義了建構函式。第二處劃線的是對第一處的函式體的內容寫完整

12樓:匿名使用者

你看它不帶引數的,就說明不是你過載那個

13樓:匿名使用者

當然是第一條橫線上的

c++建構函式為什麼要進行過載

14樓:匿名使用者

// 字串類string

class string

string s("b"); "b"

string s2(s); // "b"

string s3('a', 5); // "aaaaa"

15樓:匿名使用者

過載體現的是c++多型。動態繫結的。就是執行時才體現呼叫那個函式。例子見樓下

關於C 子類建構函式的過載問題

因為你的基類student裡定義了建構函式,基類的預設建構函式不能呼叫。繼承類裡也就不可能使用預設建構函式了。把你基類裡的建構函式改為有預設值的建構函式,就能解決你的問題。如下 include stdafx.h include include using namespace std class st...

什麼是建構函式?建構函式可以過載嗎?為什麼

與類名稱具有一樣名稱的成員函式是建構函式。建構函式不能有返回值,甚至不能有return語句。說明一個有返回值的建構函式是錯誤的,取建構函式的地址也是錯誤的。如果一個類有建構函式,在程式中每個該類型別的物件在使用之前由此建構函式進行初始化 有關初始化的更多資訊參見本章後面的 用特殊成員函式進行初始化 ...

如果過載建構函式this super如何使用

建構函式過載,引數個數不同,或者引數型別不同就可以了 this的話,簡單來說,你想呼叫當前類的方法或屬性的時候,就可以用 super,簡單的說,想呼叫父類的public或protected方法和屬性的時候,可以使用,這裡只能使用直接父類的,祖先類的呼叫不到。對於你的例子 class b b 引數1 ...