钱能c++第9章以前的笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BelugaW/article/details/51172641
变量和对象本质没有什么差别,都是占据空间的数据描述体。 差别在于变量用的是内部数据,对象用的是外部数据(程序员自定义)
int a(1);  等价于int a=1;
 << 输出流连用的时候,比如 <<a<<b<<c 必须包含头文件iomanip
ifstream fin(filename,openmode=ios::in);

串操作: 
string s;
getline(sin,s);
cout<<s<<endl
这三行可以输出 s串
ifstream in("aaa.txt");    aaa.txt进入输入流
getline(in,s); 从输入流 in中逐行读入数据到s中,  s是 string s;

vector 可以说是数组加强版
a.size() 这种方式叫做调用对象a的成员函数size()
&表示实体地址。 &22  这是一种错误的写法


class Date{
    int year,month,day;
public:
    void set(int y,int m,int d);
    bool isLeapYear();
    void print();
}   // 注意 类定义花括号后面有分号的,结构体也是。 类机制最初就是在 结构的基础上改进的。 JAVA的类定义后面是没有分号的 -、-
这是一个基本的类,其实就是在结构体的基础上加上Public     以及一些函数
public下的函数表示可以被外界 引用, 是公用的
void Date::set(..........)
{                 }
定义Date的成员函数的时候,要像上面这样,加两个冒号。  如果 set函数是定义在Date类里面的话,就不需要声明 Date:: 直接像普通函数那样写就OK了。  就像在自己家里一样不需要那么多称呼。 一般来说,如果不多于3个函数,则一般函数定义都写在类里面

类是抽象的,对象是类的具体化
Date *dd=new Date;     创建Date类的对象 dd
dd->menberfunction( ); // 引用成员函数
这样写看着更顺眼一点
Date dd=new Date();   //对象在动态内存区
dd.menberfunction( );
当然 也可以这样(貌似) Date dd;  就像定义普通变量一样

成员函数如果只对对象进行操作,则可以定义为成员函数。读操作,不会改变数值,这样子如果调试的时候出错,可以排除这些常成员函数,一般不会是它们导致的BUG。然后就可以考虑其他方面啦,提高了调试的效率。
常成员函数写法: void print( ) const;

重载 :几个函数有相同的名字,但是他们的参数不同(一般是参数数量或者形式不同),内容也不同,可以根据调用时的实参来区分他们

关于重载,有这几个要求:不能创建新的操作符  比如 @  ,不能重载  “::”  “ .  "    ".*”
重载后 操作符的优先级和结合性还是不变的。
==============================================================
类里面的 private, public 这种叫做访问控制符
P270  把类比作电视机,很形象地比喻



C++的对象和变量一样,可以要用的时候再去创建,没必要一开始在函数开头就建好
折构函数与构造函数想对应,折构函数 的职能是  人为的动态内存释放
对象构造与折构的关系是  入栈与出栈的关系
阅读更多
换一批

没有更多推荐了,返回首页