SubOOp.h
这个文件中声明类以及其成员函数和成员变量
/*#pragma once*/
#ifndef _SUBOOP_H_
#define _SUBOOP_H_
struct ThisFileClass{
private:
int Stu_Age;
/*
void SetAge(int age)
{
Stu_Age=age;
}
这种方式编译器在编译时直接将该函数内联到调用处
*/
public:
void SetAge(int age);
int GetAge(void);
};
#endif
#pragma once
这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次 ,#pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。 #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。
#ifndef _SUBOOP_H_
#define _SUBOOP_H_
#ifndef这种是最早期使用的方法,是基于语言的宏定义名字不能冲突的前提下的。这种方法不仅能保证同一个头文件不会被包含两次,也可以保证内容完全相同的两个文件也只能被包含一次。
SubOOp.cpp
该文件中实现SubOOp.h中类的成成员函数;
#include "SubOOp.h"
#include <iostream>
void ThisFileClass::SetAge(int age)
{
Stu_Age = age;/*应为加了::(域作用符),所以相当于这里的函数依然写在类的内部*/
}
int ThisFileClass::GetAge(void)
{
int age = Stu_Age;
std::cout << "student's name :" << Stu_Age << std::endl;
return age;
}
main.cpp中对象的实例化,然后调用对象
#include <iostream>
#include "SubOOp.h"
using namespace std;
int main()
{
ThisFileClass Obj;
Obj.SetAge(100);
Obj.GetAge();
system("pause");
return 0;
}