你必须知道的222个c++语言问题重点

来源:互联网 发布:程序员女生性格 编辑:程序博客网 时间:2024/05/18 13:05

1: malloc函数分配的空间无法得知存放的数据类型,返回的是void *指针,因此还应该将其返回类型强制转换;如果没有足够的存储空间来分配,new将返回空指针;

2:组合和复合类的区别与联系?组合包括聚合、关联;一个类的某些属性是某些类的对象,就称之谓复合。

3:多态性的关键是指向基类的指针或引用来操作对象;

4:构造函数隐含的返回值由系统内部使用;

5:拷贝构造函数是在对象构造时起作用;= 运算符重载是在对象已经存在时为对象进行赋值用的;

6:如果类中有成员类,成员类的构造函数被优先调用;

7:多态性是通过指向基类的指针来操纵对象的;

8:没有实现纯虚函数的类不能实例化;

9:如何将运算符函数作为成员函数使用?Add operator+(Add b){m+=b.m}

10:成员运算符函数,运算符是双目的话,参数表中只有一个操作数,该操作数作为右操作数;

11:友元函数没有this指针;

12:c++新增强制转换运算符,常量、动态、重释、静态;

13:如何区分静态类型检查和动态类型检查?动态类型检查会破坏封装性。

14:catch语句省略符是捕获try块中的所有异常,即一个万能接收器;

15:重新抛出异常是把异常传递到try块的外部,由外部异常处理器进行处理,而内部的异常处理器将不再处理异常信息;

16:terminate和unexpected函数:后者记录错误并调用terminate函数;当函数实际抛出的异常类型与函数原型的异常规格说明不一致时,就会调用unexpected函数,抛出unexpected异常,该函数不捕获异常,unexpected异常无法得到运行库的帮助;terminate函数记录错误,释放已有系统资源并调用abort函数;

17:如何重载输入输出运算符<< >>,

ostream & operator<< (ostream & cout,Student emp)

{

     cout<<emp.name<<endl;

    cout<<emp.age<<endl;

    ......

}

 

istream & operator>> (istream & stream,Student &emp)

{

     cout<<"Enter name:"<<endl;

     stream>>emp.name;

       ......

}

 

 

 

原创粉丝点击