等我們長的點(diǎn)了,我們就能表達(dá)自己的意思了。這時(shí),可以給Speak增加一個(gè)參數(shù):
void speak(char a[])
{
cout << “我在說:” << a << endl;
}
這個(gè)函數(shù)與原來的speak重名,但c++很聰明,知道在什么情況下調(diào)用哪個(gè),所以我們可以把他加進(jìn)類里:
class person
{
private:
char birthday[20];
char sex[10];
char name[20];
public:
person(char b[], char s[])
{
birthday = b;
sex = s;
}
void set_name(char n[])
{
strcpy(name,n);//strcpy,沒忘吧?復(fù)制char類型要用這個(gè),不要寫成“name = n;”!
}
char *get_name()
{
return *name;
}
void speak()
{
cout << “我在牙牙學(xué)語!” << endl;
}
void speak(char a[])
{
cout << “我在說:” << a << endl;
}
}
然后調(diào)用它:
Int main()
{
person xiaoming(“1985/1/1”,“male”);
xiaoming.set_name(“xiaoming”);
xiaoming.speak();
xiaoming.speak(“我餓了,我要喝奶”);
}
兩次調(diào)用,我們給了不同的參數(shù),結(jié)果當(dāng)然也是不同的。因?yàn)橹剌d是靠參數(shù)的個(gè)數(shù)和類型來區(qū)別的,只要參數(shù)的個(gè)數(shù)和類型不同,c++就能分辨,知道調(diào)用哪一個(gè)。
構(gòu)造函數(shù)也是函數(shù),所以。。。
class person
{
private:
char birthday[20];
char sex[10];
char name[20];
public:
person()
{ }
person(char b[], char s[])
{
birthday = b;
sex = s;
}
void set_name(char n[])
{
strcpy(name,n);//strcpy,沒忘吧?復(fù)制char類型要用這個(gè),不要寫成“name = n;”!
}
char *get_name()
{
return *name;
}
void speak()
{
cout << “我在牙牙學(xué)語!” << endl;
}
void speak(char a[])
{
cout << “我在說:” << a << endl;
}
};
注意到了嗎,我加了這個(gè)函數(shù):
person()
{ }
空的什么都沒有,有什么用?
……
有時(shí)我們這樣實(shí)例化對(duì)象:person xiaoming();
這是調(diào)用的就是這個(gè)構(gòu)造函數(shù)!當(dāng)然這么簡單的事編譯器可以替我們做,但我們還是不妨寫上。
相關(guān)推薦:全國計(jì)算機(jī)等級(jí)考試二級(jí):C++指針基礎(chǔ)入門北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |