c++没有实例化的类成员访问
2015-09-18 16:58
411 查看
#include <iostream> using namespace std; class A { public: static void fun() { cout << "static fun" << endl; } void fun1() { cout << "fun1" << endl; } }; int main() { A::fun(); //A::fun1();这个是不可以的, A a; a.fun1();//这两个都可以 a.fun(); etchar(); return 0; }
如果要调用的这个函数是这个类的静态函数(static函数)的话,类名::函数名()这样调用是可以的,如果它不是静态函数的话,你必须通过创建一个类的实例,再通过其实例访问其成员函数。
原因:
静态成员是属于类本身的,不属于对象,
在内存中依然存在了,而非静态成员在没有对象实例化之前是没有的
相关文章推荐
- c++生成随机数
- 【C++】智能指针
- C++STL 迭代器
- 用 C++实现的简单物流信息存储
- Effective C++——operator =
- C语言改变循环的状态
- C语言中动态分配数组
- C++中传递数组参数的几种用法和注意点
- swig C#链接c++ dll
- Effective C++——条款45(第7章)
- c++ 抽象概念,内存格局,浅拷贝,深拷贝,临时对象,无名对象
- C++中不能被定义为虚函数的函数
- 详解C++编程中的单目运算符重载与双目运算符重载
- c/c++复习日记 1.不带缓存的I/O和标准I/O
- C++运算符重载规则详解
- 矩阵乘法算法
- 简介C++编程中的运算符重载
- C++ Primer Plus 第6版 中文版 第7章编程练习
- C++读入输出优化
- 【C++】vector、list、map、set