c++的总结归纳

来源:互联网 发布:潜龙勿用谢霆锋 知乎 编辑:程序博客网 时间:2024/04/29 07:15

1.关于如何访问类里面的私有变量?

 

          答: 可以通过类的public 成员函数类间接访问。

2.关于如何访问类里面的保护变量?

 

          答:方法和私有的一样,区别在于保护的变量可以被派生类任何函数访问。

例:

#include <iostream>using namespace std; class Box{   protected:      double width;}; class SmallBox:Box // SmallBox 是派生类{   public:      void setSmallWidth( double wid );      double getSmallWidth( void );}; // 子类的成员函数double SmallBox::getSmallWidth(void){    return width ;} void SmallBox::setSmallWidth( double wid ){    width = wid;} // 程序的主函数int main( ){   SmallBox box;    // 使用成员函数设置宽度   box.setSmallWidth(5.0);   cout << "Width of box : "<< box.getSmallWidth() << endl;    return 0;}


3.什么是构造函数,有什么作用。特点是什么?


                答: 特点:1.没有返回值,也不是void,2.函数名称和类名一样,可以带形参用来做初始化。

                      作用:用来对成员变量进行初始化。

#include <iostream> using namespace std; class Line{   public:      void setLength( double len );      double getLength( void );      Line();  // 这是构造函数    private:      double length;}; // 成员函数定义,包括构造函数Line::Line(void){    cout << "Object is being created" << endl;} void Line::setLength( double len ){    length = len;} double Line::getLength( void ){    return length;}// 程序的主函数int main( ){   Line line;    // 设置长度   line.setLength(6.0);    cout << "Length of line : " << line.getLength() <<endl;    return 0;}


4.什么是虚构函数,有什么作用,特点是什么?


         答: 特点:函数名称和类一样,只是在名称前面多加了一个~。没有返回值,也不是void,没有形参。

               作用:析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。


5.为什么要有构造函数和虚构函数呢?


          答:即使我们在构造类的时候不添加构造函数和虚构函数,它也会在每次创建类的新对象时执行构造函数,在释放对象之前执行虚构函数。

               注:默认的构造函数没有任何参数,但如果需要,构造函数也可以带有参数。 这个时候就需要自己重新写一个构造函数了。



6.什么是拷贝构造函数,有什么作用?


          答: 和构造函数及虚构函数一样,类也有默认的一个拷贝构造函数。但是有局限性。比如带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。

                作用:使用已有的同类型的对象来初始化新创建的对象。

                      通过使用另一个同类型的对象来初始化新创建的对象。

  • 通过使用另一个同类型的对象来初始化新创建的对象。

  • 复制对象把它作为参数传递给函数。

  • 复制对象,并从函数返回这个对象。

7. 友元函数、内联函数(inline)……



















0 0