构造与析构(上)
来源:互联网 发布:淘宝钱货一方 编辑:程序博客网 时间:2024/05/17 12:21
对象的初始化:
{
private:
int i;
int j;
int k;
public:
Test(int v)
{
i = v;
j = v;
k = v;
}
void print()//构造函数
{
printf("i = %d, j = %d, k = %d\n", i, j, k);
}
};
int main()
{
Test t1(4);//自动调用构造函数
Test t2 = 5;//自动调用构造函数
Test t3 = Test(6);//主动调用构造函数
t1.print();
t2.print();
t3.print();
Test tA[3] = {Test(1), Test(2), Test(3)};//主动调用构造函数
for(int i=0; i<3; i++)
{
tA[i].print();
}
}
成员函数的重载
类的成员函数和普通函数一样可以进行重载,并遵守相同的重载规则;
class Test
{
private:
int i;
int j;
int k;
public:
Test()
{
i = 0;
j = 0;
k = 0;
}
Test(int v)
{
i = v;
j = v;
k = v;
}
void print()
{
printf("i = %d, j = %d, k = %d\n", i, j, k);
}
void print(int v)
{
printf("v = %d\n", v);
}
};
两个特殊的构造函数:
/*
注意:
1. 当类中没有定义任何一个构造函数,C++编译器会为提供无参构造函数和拷贝构造函数
2. 当类中定义了任意的非拷贝构造函数时,C++编译器不会为提供无参构造函数
*/
class Test
{
public:
Test()
{
printf("Test()\n");
}
Test(const Test& obj)
{
printf("Test(const Test& obj)\n");
}
};
int main()
{
Test t1;
Test t2 = t1;
printf("Press any key to continue...");
getchar();
return 0;
}
#define _ARRAY_H_
class Array
{
private:
int mLength;
int* mSpace;
public:
Array(int length);
Array(const Array& obj);
int length();
void setData(int index, int value);
int getData(int index);
void destory();
};
#endif
Array::Array(int length)
{
if( length < 0 )
{
length = 0;
}
mLength = length;
mSpace = new int[mLength];
}
Array::Array(const Array& obj)
{
mLength = obj.mLength;
mSpace = new int[mLength];
for(int i=0; i<mLength; i++)
{
mSpace[i] = obj.mSpace[i];
}
}
int Array::length()
{
return mLength;
}
void Array::setData(int index, int value)
{
mSpace[index] = value;
}
int Array::getData(int index)
{
return mSpace[index];
}
void Array::destory()
{
mLength = -1;
delete[] mSpace;
}
- 构造与析构(上)
- C++学习笔记(七) 构造函数与析构函数(上)
- 构造与析构
- 构造与析构
- 析构与构造
- 构造与析构
- 构造与析构
- 构造与析构
- 构造与析构(下)
- 7、构造和析构-上
- 由始至终----构造与析构
- C++构造与析构
- lambda 构造与析构
- 析构与构造顺序
- class 构造与析构
- 构析与构造函数
- python构造与析构
- 九、构造与析构
- Facebook的56个性别,都是啥意思?
- 第三方登录开发-新浪微博
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
- 随笔2014-2-18
- Path Sum II
- 构造与析构(上)
- Java Map遍历方式的选择
- SNC航拍作品赏析第一季
- Hadoop:hadoop.job.ugi
- VI的设计思想及使用
- 【题解】[wikioi2520]上学路线
- ios开发---将TableViewCell选中样式改为无色
- 互联网思维下的传统企业转型思考
- 六十一 C与指针笔记001