类的声明和实现分离

一、在同一文件中

#include
using namespace std;

class Person{
private:
	int m_age;
public:
//声明
	void setAge(int age);
	int getAge();
	Person();
	~Person();

};
//实现
void Person::setAge(int age) {
	m_age = age;
}
int Person::getAge() {
	return m_age;
}
Person::Person() {
	m_age = 0;
}
Person::~Person() {

}

int main() {

	Person person;
	person.setAge(10);

	cout << person.getAge() << endl;

	getchar();
	return 0;
}

二、在不同文件中

  1. main.cpp
#include
#include "Person.h"
using namespace std;

//class Person{
//private:
//	int m_age;
//public:
//	void setAge(int age);
//	int getAge();
//	Person();
//	~Person();
//
//};

//void Person::setAge(int age) {
//	m_age = age;
//}
//int Person::getAge() {
//	return m_age;
//}
//Person::Person() {
//	m_age = 0;
//}
//Person::~Person() {
//
//}

int main() {

	Person person;
	person.setAge(10);

	cout << person.getAge() << endl;

	getchar();
	return 0;
}
  1. Person.h
#pragma once

class Person{
private:
	int m_age;
public:
	void setAge(int age);
	int getAge();
	Person();
	~Person();

};
  1. Person.cpp
#include "Person.h"

void Person::setAge(int age) {
	m_age = age;
}
int Person::getAge() {
	return m_age;
}
Person::Person() {
	m_age = 0;
}
Person::~Person() {

}

运行结果:10

你可能感兴趣的:(语言学习,c++)