c++ 类总结 集锦

class Screen{
public:
void home(){_cursor = 0;}
private:
int _cursor;
}

虽然每个类对象都有自己的类数据成员拷贝。但是每个类成员函数的拷贝“只有一份”!
例如:
Screen myScreen, groupScreen;
myScreen.home();
groupScreen.home();
其中myScreen, groupScreen调用home()时,调用的是同一个函数home()!
---------------------------------------------------------------------------
对于“成员函数”而言,const类对象只能调用const成员函数,(一般const成员函数不能修改类对象的数据成员,但当类对象的数据成员中包含指针时,const成员函数可以修改此指针所指的内容,而指针本身没有改变)。
/*若要想const成员函数修改const类对象的数据成员,可以将数据成员声明为mutable(易变的)*/
const成员函数可以被相同参数表的非const成员函数重载:
例如:
class MyScreen{
public
char get(int x, int y);
char get(int x, int y) const;
}
此时两个get为函数重载。
一个const类对象“从构造完成时到析构开始时刻”这段时间内被认为是const!
---------------------------------------------------------------------------
在类定义中用到的名字必须在使用前首先被声明,这个规则有两种例外的情况。
1、对于被用在inline成员函数定义中的名字
2、对于被用作缺省实参的名字
此两种情况都是“在类的完整域中”被解析,不分先后顺序!
---------------------------------------------------------------------------
类的设计中:
缺省的构造函数是必要的,因为在定义类数组时,需要缺省的构造函数!
---------------------------------------------------------------------------
构造函数调用的顺序:
1、基类构造函数
2、成员类对象构造函数
3、派生类构造函数
---------------------------------------------------------------------------
基类为:Query
派生类为:NameQuery
Query query;
NameQuery nq( "lila" );
query = nq;//nq被切割成一个Query对象
因此,只有在通过基类指针或引用间接窒息那个派生类子类型时,多态性才起作用!
原文地址:https://www.cnblogs.com/handongdong/p/2223857.html