博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++构造函数的分类和调用
阅读量:4211 次
发布时间:2019-05-26

本文共 1409 字,大约阅读时间需要 4 分钟。

(1)  构造函数的分类

       1) 无参数构造函数  2) 带参数构造函数   3)拷贝构造函数  4)默认构造函数,如果c++编译器没有提供构造函数

       

Test2()  //无参数构造函数{	m_a = 0;	m_b = 0;	cout << "无参数构造函数" << endl;}Test2(int a){	m_a = a;	m_b = 0;	cout << "一个参数构造函数" << endl;}Test2(int a, int b) //有参数构造函数   //3种方法{	m_a = a;	m_b = b;	cout << "两个参数数构造函数" << endl;}//赋值构造函数 (copy构造函数) //Test2(const Test2& obj){	cout << "拷贝构造函数 " << endl;}

(2)  调用方法(具体看注释):

       

#include 
using namespace std;class Test2{public: Test2() //无参数构造函数 { m_a = 0; m_b = 0; cout << "无参数构造函数" << endl; } Test2(int a) { m_a = a; m_b = 0; cout << "一个参数构造函数" << endl; } Test2(int a, int b) //有参数构造函数 //3种方法 { m_a = a; m_b = b; cout << "两个参数数构造函数" << endl; } //赋值构造函数 (copy构造函数) // Test2(const Test2& obj) { cout << "拷贝构造函数 " << endl; }public: void printT() { cout << m_b << endl; }private: int m_a; int m_b;};void main21(){ Test2 t1; //调用无参数构造函数,输出“无参数构造函数” cout << "hello..." << endl; system("pause"); return;}//调用 调用有参数构造函数 3void main(){ //1括号法 Test2 t1(1, 2); //调用参数构造函数 c++编译器自动的调用构造函数,输出“两个参数构造函数” // 2 =号法 Test2 t2 = (3, 4, 5, 6, 7); //输出"一个参数构造函数", 这是逗号表达式,只取最后一个值7,7就是表达式的值,相当于调用一个参数的函数,= c++对等号符 功能增强 c++编译器自动的调用构造函数 Test2 t3 = 5; //输出"一个参数构造函数" //3 直接调用构造函数 手动的调用构造函数 Test2 t4 = Test2(3, 4); //输出"两个参数构造函数" //匿名对象 (匿名对象的去和留) 抛砖 ....//t4对象的初始化 // t1 = t4; //把t4 copy给 t1 //赋值操作 //对象的初始化 和 对象的赋值 是两个不同的概念 t1.printT(); //输出4 cout << "hello..." << endl; system("pause"); return;}

     

转载地址:http://shzmi.baihongyu.com/

你可能感兴趣的文章
CSS之浮动(二)
查看>>
记腾讯互娱网站布局(1)
查看>>
记腾讯互娱网站布局(2)
查看>>
记腾讯互娱网站布局(3)
查看>>
大小不固定的图片和多行文字的垂直水平居中
查看>>
display:table-cell的集中应用
查看>>
display:table-cell自适应布局下连续单词字符换行
查看>>
0115 springboot template方式操作mongodb
查看>>
0116 spring的webFlux
查看>>
解决 Asp.net 中,url传参乱码 方法之一:(UrlDecode)
查看>>
pdf的转换网址:
查看>>
c++设计模式之三~抽象工厂模式
查看>>
c++设计模式之单例模式
查看>>
c++设计模式之建造者模式
查看>>
c++设计模式之原型模式
查看>>
c++设计模式之适配器模式
查看>>
c++设计模式之桥接模式
查看>>
c++设计模式之装饰模式
查看>>
Mysql学习笔记(八)- 两个简单实用的优化方法
查看>>
mysql学习笔记(九)- 增删改查的优化
查看>>