1、考慮下面的方法
void print(const student& s)
2、方法print接收乙個student物件,定義student物件,並呼叫方法,有哪些方式?
方式一:
student s;
print(s);
方式二:
student s = student();
print(s);
方式三:
print(student()); // 匿名物件
方式四:
student* s = new student();
print(*s);
方式五:
student* s = new student;
print(*s);
注意:不能使用下面的方式,
student s();
print(s);
報錯 「print」: 不能將引數 1 從「student (__cdecl *)(void)」轉換為「const student &」
原因是:編譯器把student s(); 當成一種方法宣告,返回student,接收void。 也就是說:當存在多種解釋的時候,編譯器會優先認為某種解釋,而這種解釋可能不是你所期望的。
C 定義物件 物件舉例
在c 中,宣告了類型別後,定義物件有兩種形式 1 class 類名 物件名 把class和student合起來作為乙個類名,用來定義物件 class student stu1,stu2 2 類名 物件名 直接用類名定義物件 student stu1,stu2 這兩種方法是等效的,第1種方法是從c語言...
C 物件定義的概念
物件定義有兩種形式 type specifier object name type specifier object name initializer 舉例而言就是 int a int a 1 基本上變數的宣告和定義是一起的,這個過程就會引起記憶體分配。上面說的兩種形式的區別在於是否初始化。但是有另...
C 封裝篇 類物件的定義
1 物件的例項化 在c 中類是乙個模板,物件的例項化其實就是計算機根據乙個類的設計製造出多個物件的過程。物件例項化有兩種方式 2 從棧例項化 class tv 類名 物件 int main void tv tv tv tv 20 return 0 3 從堆例項化物件 int main int p n...