使用new 返回的值是一个指针
一个类的写作过程中,可以先定义类 写在头文件中 再写一个cpp文件来实现它
一个类的初始化大体框架如下
头文件中:
类名
{
类中的变量
public::
构造函数1//ps::和类名相同
构造函数2//ps::和类名相同
构造函数3//ps::和类名相同 //在实例化对象的时候,会找到不同的重载函数来实现实例
………………
方法1
方法2
方法2
………………
析构函数//用来释放在类的创建中开辟的内存空间等
}; 注意这里有个封号, 对C++的理解是这是一个包的集合 这里实现了对不同方法 数据的一个统一管理 也就是面向对象编程的思想
实现类的cpp文件中:
类名::类名(){xxxxxx} //对类中构造函数的实现
类型 类名::方法名(){xxxxx}//对类中的方法的实现 前面的类型表示 类中的方法在定义的时候是什么类型的
~ 类名::类名(){xxxxxx} //对类中析构函数的实现 对象失去作用(也即在对象的作用结束的时候,会自动调用)
类中的方法可以访问和修改它自己的private值 类外面的方法不可以
有虚函数的类需要实力虚函数后才能实例化对象
体会C++面向对象编程的方便性1
如果有一个 形状 的基类 我们可以从中派生出 圆形 正方形 等形状
基类中有一个方法可以是输出当前的颜色 这样在继承了基类后 直接调用方法即可 另外 各个派生类中的颜色虽然名字相同,但是它们是不同类中的变量 这样也不影响 避免了C语言中 变量的反复定义
double getWidth()const;
//const表明 函数不修改类里面的私有属性
//当用对象调用getWidth这个函数的时候
//这个对象的状态不被改变,也就是说他的私有成员不会被修改
//这种函数叫 常函数