- 在类外定义成员函数要使用类名加作用域限定符::
- 成员函数的形参表和函数体处于类的作用域中。
- 成员函数的返回值类型不处于类的作用域中,如果要使用在类中定义的类型则必须在返回值前面加类名和作用域限定符。
#include <iostream>
using namespace std;
class Doc{
typedef int count_t;
private:
string name;
string path;
string date;
count_t count;
public:
void setName(string);
void setPath(string);
void setDate(string);
void initDoc(string n, string p, string d, count_t cnt);
void setCount(count_t);
string getName();
string getPath();
string getDate();
count_t getCount();
};
void Doc::setName(string n){
name = n;
}
void Doc::setPath(string p){
path = p;
}
void Doc::setDate(string d){
date = d;
}
void Doc::initDoc(string n, string p, string d, Doc::count_t cnt){
name = n;
path = p;
date = d;
count = cnt;
}
void Doc::setCount(count_t cnt){
count = cnt;
}
string Doc::getName(){
return name;
}
string Doc::getPath(){
return path;
}
string Doc::getDate(){
return date;
}
Doc::count_t Doc::getCount(){
return count;
}
int main(void){
Doc doc1;
doc1.initDoc("c++", "/root", "2020/8/6", 0);
cout << "doc1 name = " << doc1.getName() << endl;
cout << "doc1 path = " << doc1.getPath() << endl;
cout << "doc1 date = " << doc1.getDate() << endl;
cout << "doc1 count = " << doc1.getCount() << endl;
cout << "sizeof(doc1) = " << sizeof(doc1) << endl;
return 0;
}