32 }
33
34 void Employee::showEmployee() const
35 {
36 std::cout<<"常成员函数:"< 37 std::cout<<"编号:"< 38 std::cout<<"姓名:"< 39 } 40 41 int main() 42 { 43 Employee employee("001","aa"); 44 employee.showEmployee(); 45 46 std::cout<<"********************************"< 47 48 Employee const const_employee("002","bb");//常对象 49 const_employee.showEmployee(); 50 51 return 0; 52 } 结果: 从上述示例代码中,我可以看到两个同名函数void showEmployee(),一个是普通成员函数,一个是常成员函数,它们是重载的,由此说明const可以被用于对重载函数的区分; 3.C++的源程序基本上由3个部分组成:类的声明部分、类的实现部分和类的使用部分,针对3个部分,C++中对应分为3个文件:类声明文件(*.h文件)、类的实现文件(*.cpp)和类的使用文件(*.cpp,主函数main文件)。那么为什么C++中的要使用多文件,一个*.cpp类的使用文件就可解决的问题,为何那么麻烦要分三步走呢?主要有以下几个方面:(1)类的实现文件通常会比较大,将类的声明和实现放在一起,不利于程序的阅读、管理和维护。我们通常说接口应该和实现的部分分离,这样可以更易于修改程序。(2)把类成员函数的实现放在声明文件中和单独放实现文件里,在编译时是不一样的。前者是作为类的内联函数来处理的。(3)对于软件的厂商来说,它只需向用户提供程序公开的接口,而不用公开程序源代码。从这一点来看,我觉得C++在面向对象方面比C#更加明确,清晰。 4.最后还是一样,我将用一个示例来总结一下今天所讲的内容,同时将把程序按照C++多文件的原则分成3个文件来实现(开发工具:vs2010): 1.声明文件*.h: employee.h(雇员类的声明文件) View Code salary.h(薪水类的声明文件) View Code 2.实现文件*.cpp: employee.cpp(雇员类的实现文件) View Code salary.cpp(薪水类的实现文件) View Code 3.使用文件*.cpp main主函数文件 1 #include "stdafx.h" 2 #include 3 4 #include "salary.h" 5 int main() 6 { 7 { 8 Salary salary(3000,3000,0,200,100,"001","aaa"); 9 salary.showSalary(); 10 } 11 12 return 0; 13 } 结果: 
