构造函数是成员函数的一种名字与类名相同,可以有参数,不能有返回值,void也不行。作用的对对象进行初始化,给成员变量赋初值如果定义是没写构造函数,则编译器默认生成一个无参的构造函数(默认生成的构造函数无参数,不做任何操作)对象生成时,构造函数自动被调用,对象一旦生成,就再也不能在其上执行构造函数一个类可以有多个构造函数构造函数执行必要的初始化工作,有了构造函数就不必在专门写初始化函数,也不用调用复
类的访问范围可以用关键字来定义类可以被访问的范围private:私有成员,只能在成员函数中访问public:公有成员,可以在任何地方protected:保护成员,以后再说若没有设置私有的目的是隐藏,隐藏的目的是强制对成员变量的访问一定要通过成员函数,好处是成员变量的类型修改后,只需要更改成员函数即可也要避免重载缺省的二义性比如
面向对象的程序=类+类+类+...+类;面向对象的程序的四个基本特点:“抽象”+“封装”+“继承”+“多态”:和结构体变量一样,对象所占内存空间大小,等于所有成员变量的大小之和成员函数也会占用内存空间,但是不会被放到成员对象里面,他是占一块空间被共享的每个对象都有自己的存储空间,一个对象的某个成员变量被改变了,不会影响到另一个成员对象对象可以用“=”赋值,但是不能用“==”之类的进行比较,除非进行
使用new关键字开辟内存new关键字,动态分配数组(同理malloc)int main() { int* pn; int i = 5; pn = new int[i * 20]; pn[0] = 20; pn[99] = 100; delete []pn;//释放数组 //delete pn 释放指针 delete []pn;//错误 return 0; }用delete运算符
int a = 1,b=2; int& r1 = a; cout << r1 << endl;引用作为函数的返回值----把返回值本为常量做变量-不产生被返回值的副本,节省内存空间int n = 4; int& SetValue() { return n; } int main() { SetValue() = 40; cout <&l
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号