c++類例項化的兩種方式
阿新 • • 發佈:2018-12-31
/*
* HelloWorld.cpp
*
* Created on: 2016年7月13日
* Author: zroad
*/
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
class C {
public:
C(string s = "", int i = 0, double d = 1.0) {
dataMember1 = s;
dataMember2 = i;
dataMember3 = d;
}
void memberFunction1() {
cout << dataMember1 <<' '<<dataMember2 <<' ' << dataMember3 << endl;
}
void memberFunction2(int i, string s1 = "unknow") {
dataMember2 = i;
cout << i << " received from " << s1 <<endl;
}
protected :
string dataMember1;
int dataMember2;
double dataMember3;
};
int main() {
//建立類例項方法1:直接宣告並呼叫建構函式
C obj1("o1", 11, 111);
obj1.memberFunction1();
//建立類例項方法2:使用指標建立,程式執行完畢後必須釋放記憶體
C *obj2 = new C("O2", 22, 222.0);
obj2->memberFunction1();
obj2->memberFunction2(1000 , "C++");
delete obj2;
cout << "The end!" << endl;
return 0;
}