我的任務如下: 創建一個具有char * name和int age類的Person。使用動態分配內存的變量,析構函數,函數init和好友函數show來實現構造器。然後將此類轉換爲頭文件和cpp文件並在其他程序中實現。好了,所以這裏是我的Person類:Cpp一些基本問題
#include <iostream>
using namespace std;
class Person {
char* name;
int age;
public:
Person(){
int size=0;
cout << "Give length of char*" << endl;
cin >> size;
name = new char[size];
age = 0;
}
Person::~Person(){
cout << "Destroying resources" << endl;
delete [] name;
delete take_age();
}
friend void show(Person &p);
int* take_age(){
return &age;
}
char* take_name(){
return name;
}
void init(char* n, int a) {
name = n;
age = a;
}
};
void show(Person *p){
cout << "Name: " << p->take_name() << "," << "age: " << p->take_age() << endl;
}
int main(void) {
Person *p = new Person;
p->init("Mary", 25);
show(p);
system("PAUSE");
return 0;
}
現在通過頁眉/實現部分:
- 我需要在頭/執行文件介紹構造?如果是 - 如何?
- 我的show()函數是一個友好的函數。我應該以某種方式考慮它嗎?
我已經沒有我的考試返回此任務,但我仍想知道如何實現它。
如果你不已經有一個,你應該考慮讓初學者C++在[權威的C++書指南和列表]上市叢書之一(http://stackoverflow.com/questions/388242/the -definitive-C-書指南和列表)。 – 2010-05-24 23:29:27
對不起,如果聽起來很刺耳,但你的代碼真的顯示,你完全不知道發生了什麼。這只是一個事實。你真的需要讀些東西。 – 2010-05-24 23:35:41
C++不叫cpp。 C預處理器被稱爲cpp。 – hobbs 2010-05-24 23:52:20