C++基础(三)成员函数 友元函数

来源:互联网 发布:广发期货软件下载 编辑:程序博客网 时间:2024/06/06 17:08

breakcontinue   

 int i=0;

    while (i<10) {

        printf("i=%d\n",i);

        i++;

        if (i==5) {

            continue;//换为breaki的值0~4输出

        }

    }// i的值0~9输出

break 跳到循环后

continue 结束循环,跳到循环前,继续执行

switch switch会从满足条件的地方开始执行,直到遇到break;语句或执行完switch语句为止


静态全局变量

静态全局变量只能在他所声明的文件中使用,不能被其它文件引用(不能用extern



函数传参的3种方式

  (1)传值:形参是实参的一份拷贝,单向传递,形参的改变不会影响实参

2)传指针:通过形参间接改变实参所指向变量的值

3)传引用:形参就是实参,改变形参就是改变实参


不要返回一个指向局部变量的指针或引用(内存问题)

数组作为参数传递:   void swap(int *a){//*a <=> a[]

 


指针函数

fpointer指向哪个函数,就调用那个函数,

int (*fpointer)(int ,int );//定义一个函数指针,返回型一致,参数类型一致(相对于所指向的函数)

fpointer=sum;//函数名就是函数地址 


字符串

善于使用gets() ,   puts()  函数

char *str1="hello world”;      //    strlen(str1)=11;     


类与对象

类是对象的抽象,对象是类的实例

类中如果不加特殊定义,那么默认为private


重载函数

关于重载函数,即C++中允许函数名重复,并且系统会根据参数的类型、个数来找到与之匹配的函数进行调用。(必须两者有至少一处不一样,否则将辨别不出来)


友元函数

友元函数不是成员函数,可以访问到私有数据成员,一个类如果作为另一个类的友元类,意味着这个类中的所有成员函数都是另一个类的友元函数。

构造函数

构造函数总是返回一个类的对象,所以它不需要,也不能有返回值

继承

子对象调用父类中的成员函数时:d1.Base::function();

虚函数

当父类对象想要调用子类中被覆盖了的函数时,使用虚函数很有必要。父类对象的指针、引用指向子类的对象,想要调用正确版本的函数时。

当父类指针或引用指向子类对象,而子类中又覆盖了父类的函数,希望用父类指针或父类引用,调用到正确版本的函数,需要把该成员函数声明为虚函数。

如果父类的成员函数是虚函数,那么子类中覆盖的函数不声明也是虚函数

返回值为对象的成员函数

//    middle(p1,p).display(); //返回一个对象,必须是友元函数(需要在类外且能访问私有成员)

    p.middle(p1).display();   //成员函数的话必须要对象先调用它,     

    p.<返回的对象>.display();


    void setName(char _name[20]){

        strcpy(name, _name);

    }// change name value    本质是传指针


    void Person:: setName(char *_name){

    if (strlen(_name)>strlen(name)) {

        delete []name;

        name=new char [strlen(_name)+1];

    }

    strcpy(name, _name);

}// change name value (*)      私有变量若为指针的话的话需要开辟空间(本质是传双重指针

0 0
原创粉丝点击