(1) 当c++中类的声明和实现放在一个类中时,c++编译器会把函数当成内联函数来对待,如下面的getR函数,c++编译器就会把其当成一个内联函数。
class Circle
{
public:
double r;
double s;
public:
double getR()
{
a++;
return r;
}
void setR(double val)
{
r = val;
}
public:
double getS() //增加功能时,是在修改类, 修改类中的属性或者是方法
{
s = 3.14f*r*r;
return s;
}
//private:
int a;
};
(2) 把类的声明和实现分开,具体如下:
头文件:
#pragma once //只包含一次
/*
#ifndef __MYTEACHER_H_ //ctrl +shift + u 变大写
#define __MYTEACHER_H_
*/
class MyTeacher
{
private:
int m_age;
char m_name[32];
public:
void setAge(int age);
int getAge();
};
/*
#endif
*/
cpp文件:
#include "MyTeacher.h"
void MyTeacher::setAge(int age)
{
m_age = age;
}
int MyTeacher::getAge()
{
return m_age;
}
调用者函数:
#include <iostream>
using namespace std;
#include "MyTeacher.h"
void mainxxx()
{
MyTeacher t1;
t1.setAge(36);
cout<<t1.getAge()<<endl;
cout<<"hello..."<<endl;
system("pause");
return ;
}
解释一下,在头文件中,#pragma once的作用。这是为了避免同一个头文件被包含多次,其只会被编译一次。表示在编译的时候, 这个文件只被包含(include)一次,这样, 可以减少整个编译过程中打开这个文件的次数。