C++中的const更像编译阶段的#define
const int m = 10;
int n = m;
变量是要占用内存的,即使被const修饰也不例外。m,n两个变量占用不同的内存,int n = m;表示将m的值赋给n。
在C语言中,编译器会先到m所在的内存取出一份数据,再将这份数据赋给n;
在C++中,编译器会直接将10赋给m,没有读取内存的过程,和int n = 10效果一样。
在C++中的常量更类似于#define命令,是一个值替换的过程,只不过#define是在预处
C++ 中const修饰虚函数实例详解
【1】程序1
#include
using namespace std;
class Base
{
public:
virtual void print() const = 0;
};
class Test : public Base
{
public:
void print();
};
void Test::print()
{
cout << Test::print() << endl;
}
void main()
{
C++ 中const修饰虚函数实例详解
【1】程序1
#include
using namespace std;
class Base
{
public:
virtual void print() const = 0;
};
class Test : public Base
{
public:
void print();
};
void Test::print()
{
cout << Test::print() << endl;
}
void main()
{