发布日期:2015-12-22 17:17 来源: 标签: 编程语言 C++教程 C++类 C++对象
本章我们主要学习菜鸟新手在学习C++中类和对象时的常见问题,下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
c++类与对象(1)
定义或说明对象时,系统会自动调用构造函数为创建的对象初始化。如果类中没有定义任何构造函数时,就无法给定义的对象初始化。这句话是错误的。如果没有定义任何构造函数的时候,系统会调用默认构造函数。
首先看下面这段代码:
[cpp] view plaincopyprint?
    #include <iostream>  
    using namespace std;  
    class Da  
    {  
    public:  
        Da()  
        {  
            printf("This is Gouzao Function\n");  
        }  
        void Cal(int x, int y = 0, int z = 0)  
        {  
            printf("This is Cal Function\n");  
        }  
    private:  
        int a;  
        int b;  
    };  
    int main()  
    {  
        Da a;  
        a.Cal(2);  
        return 0;  
    }  
Cal函数是有三个参数的。但是我在传递的的时候只传递了1个参数,编译也能通过。这是因为y和z都是默认参数。
如果再加个同名的成员函数
[cpp] view plaincopyprint?
    void Cal(int x)  
    {  
        printf("This is Cal Function\n");  
    }  
这样编译就会报错误:
“Da::Cal”: 对重载函数的调用不明确,原来默认参数不是C++特有的,在c语言里面是同样存在的。
c++类与对象(2)
1.定义对象指针时也要调用构造函数。这句话是错误的。定义对象指针的时候不需要调用构造函数。
2.对象指针可用同类对象的地址值给它赋值。
3.对象引用可以用一个同类对象的地址值对它赋值。对象引用跟对象指针不同。如果是对象指针的话这句话就对了。引用不是一种数据类型,引用不能赋地址值。
4.给对象数组元素赋值时都要创建临时对象。
5.任何对象都可以使用delete运算符来释放。

相关评论

专题信息
    C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性! 本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。