类分成多文件
circle.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #pragma once class Circle { public:
void setR(double r);
double getR(); double getArea(); double getGirth();
private: double m_R; double m_area; double m_girth;
};
|
circle.cpp
在类的外部创建类方法需要使用作用域名;
函数类型 类名::类方法(函数形参)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include "Circle.h"
double Circle::getArea() { m_area = 3.14 * m_R * m_R; return m_area; }
double Circle::getGirth() { m_girth = 2 * 3.14 * m_R; return m_girth; }
double Circle::getR() { return m_R; }
void Circle::setR(double r) { m_R = r; }
|
main.cpp
使用Circle类需要引用类头文件#include"Circle.h"
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include<iostream> #include"Circle.h" using namespace std;
int main(int argc, char* argv[]) { Circle c; c.setR(10.0);
cout << c.getArea() << endl; cout << c.getGirth() << endl; cout << c.getR() << endl; return 0; }
|