為了讓代碼更貼合實際項目需要,我們分別用xxx.h文件,xxx.cpp文件來包含類的定義,類的聲明和類的調用部分,實驗平台vs2010
- mycoach.h文件
#pragma once #include<iostream> #include<string> using namespace std; class mycoach { private: string name; int age; string favorite; public: mycoach(string name,int age); mycoach(const mycoach &p); //void setid(string name,int age); string getname() { return name; } int getage() { return age; } ~mycoach(void); void selfintroduce() const //const用來限制成員函數,保證成員不被修改,可以根據實際需要去掉 { cout<<"hello~ i.m "<<name<<endl; cout<<this->age<<"years old"<<endl; } void setid(string name,int age)//之所以放到這里是因為,如果放到定義文件中,就識別不了類對象指針this了,十分蛋疼,selfintroduce也是一樣 { this->name=name; this->age=age; } };
- mycoach.cpp文件
#include "mycoach.h" #include<iostream> #include<string.h> using namespace std; mycoach::mycoach(string name,int age) { name=name; age=age; } mycoach::mycoach(const mycoach &p) { name=p.name; age=p.age; } mycoach::~mycoach(void) { }
- main()函數
#include<iostream> #include<string.h> #include "mycoach.h" using namespace std; void main() { mycoach coach1("陳培昌",22); mycoach coach2(coach1);//這里用到了拷貝構造函數 coach2.setid("付高峰",30); coach2.selfintroduce(); system("pause"); }
實驗結果:
hello~ i.m 付高峰
30years old
請按任意鍵繼續. . .