Bootstrap

C++学习笔记之“.”“:”“::”的用法

C++学习笔记之“.”“:”“::”的用法


1“.” 用法

A.B 表示A为类的实例化对象或结构体,B为成员函数或成员变量。

typedef struct _ClassExpression{   //结构体
		long m_xmiId;      
		std::string m_literal;
}ClassExpression;

ClassExpression  exp;   //创建对象exp
exp.m_xmiId  

2、“:” 用法

• 构造函数后面的冒号起到分割作用,是类给成员变量赋值的方法,初始化列表,更适合用于成员变量的常量const类型。
• public和private后面的冒号,表示在其后面定义的所有成员都是公有或私有。

	class father{
	public:
		std::string getName();
		bool load(const char *pFileName);
	private:
		std::string m_name;
		int m_age;
	};

• 类名后面的冒号,表示继承关系,类son为派生类,类father为父类。

  	class son : father {
	};

3、“::” 用法

  • 作用域操作符,A::B表示作用于A中的名称B,A可以是命名空间namespace、类class、结构体struct。
int father::getName() {      //成员函数定义
	……
}
bool father::load(const char *pFileName){
	……
}
  • 用在全局函数前,表示是全局函数。
::FunctionName()

;