赞
踩
:: 是作用域运算符,
“::”:指明了成员函数所属的类。如:M::f(s) 就表示函数 f(s) 是类 M 的成员函数。
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,
demo01.h(在头文件demo01.h中声明类A)
- // 声明类 A
- class A{
- public:
- void f();
- };
那么在类外定义 f 时, 就要写成 void A::f(){...},表示这个 f() 函数是类A的成员函数。
demo01.cpp(在源文件demo01.cpp中定义类A的成员函数)
- void A::f(){
- std::cout<<"hello world"<<std::endl;
- }
表示引用成员函数及变量
例:System::Math::Sqrt() 相当于System.Math.Sqrt()
- namespace ns1 {
- const double RATE = 0.08; //常量
- double pay; //变量
- double tax() { //函数
- return a * RATE;
- }
-
- namespace_ns2 { //嵌套的命名空间
- int age;
- }
- }
如果想输出命名空间nsl中成员的数据,可以采用下面的方法:
- cout<<ns1::RATE<<endl;
-
- cout<<ns1::pay<<endl;
-
- cout<<ns1::tax()<<endl;
-
- cout<<ns1::ns2::age<<endl; //需要指定外层的和内层的命名中间名
可以看到命名空间的定义方法和使用方法与类差不多。但它们之间有一点差别:
类名冒号后面的是用来定义类的继承。
这里的冒号起到的就是声名基类的作用,在基类类名前面可以加public/private/protected等标签,用于标识继承的类型,也可以省略, 省略的话:
与初始化列表一样的,这里也可以声名多个基类,各基类之间用逗号(,)隔开。
- class 派生类名 : 继承方式 基类名1 , 继承方式 基类名2 …{
- 类成员变量
- 类成员函数
- ...
- }
- class Derived : public Base1, public Base2{
- public:
- Derived();
- ~Derived();
- };
在构造函数后面,冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。
构造函数,就是与类同名的函数,它与普通函数的区别在于,它没有返回类型。
在构造函数后面紧跟着冒号加初始化列表,各初始化变量之间以逗号(,)隔开。
类名::构造函数:变量A(值),变量B(值),...{}
- class myClass {
- public :
- myClass();// 构造函数,无返回类型,可以有参数列表,这里省去
- ~myClass();// 析构函数
- private:
- int a;
- const int b;
- }
-
-
- myClass::myClass():a(1), b(1) {} // 初始化列表
- myClass::myClass() {
- a = 1;// 对,效果相当于在初始化列表中进行初始化
- b = 1;// 错,const变量不能进行赋值操作;
- }
如果在构造函数中对const类型的变量赋值,则会出错
myClass::myClass():b(1),a(b){}
这样的执行结果a,b各是多少呢?b=1,a=1?不是,b=1而a是个随机数。这一点是相当重要,一般在初始化列表中进行初始化时,初始化的顺序应与声明的顺序保持一致,防止出现不必要的错误。
- typedef struct {
- unsigned char a:4;
- unsigned char c;
- } XXX;
public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。
"private:"为默认处理。
与?构成条件语句,作用相当于if else,如下;
- int a,b,c;
- a=3;
- b=2;
-
- c=a>b?a:b;// 如果a>b成立,则反a赋给c,否则把b赋给c
条件语句的结构为:
条件表达式?表达式1:表达式2
当条件表达式为true时,表达式的值为表达式1的值,否则为表达式2的值。
A.B则A为对象或者结构体;
点号(.)左边必须为实体
A->B:
箭头(->)左边必须为指针
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。