-
string 初始化和赋值方式
查看全部 -
堆中实例对象注意判断实例是否成功
查看全部 -
堆中访问数据成员或者赋值
查看全部 -
堆实例的对象访问
第二部分
查看全部 -
栈实对象用点访问
查看全部 -
堆实例对象
查看全部 -
实例化对象
栈
查看全部 -
NULL 都要大写,
public 和private 都是小写。
记得冒号
定义函数 参数可以是参数形式+形参
返回类型。
使用new 实例化对象正对类的使用。还需要理解
#include <iostream>
#include <string>
using namespace std;
/**
* 定义类:Student
* 数据成员:m_strName
* 数据成员的封装函数:setName()、getName()
*/
class Student
{
public:
// 定义数据成员封装函数setName()
void setName(string str)
{
m_strName=str;
}
// 定义数据成员封装函数getName()
string getName()
{
return m_strName;
}
//定义Student类私有数据成员m_strName
private:
string m_strName;
};
int main()
{
// 使用new关键字,实例化对象
Student *str = new Student();
// 设置对象的数据成员
str->setName("慕课网");
// 使用cout打印对象str的数据成员
cout<<str->getName()<<endl;
// 将对象str的内存释放,并将其置空
delete str;
str= NULL;
return 0;
}
查看全部 -
方法和连接
查看全部 -
1.析构函数
定义格式 ~类名() 括号内不允许加任何参数
2.特性总结
若未定义,则自动生成;
在对象销毁时自动调用;
无返回值,无参数,无重载;查看全部 -
1.拷贝构造函数
2.注意
3.构造函数分类查看全部 -
1.拷贝构造函数
在对象复制或者作为参数进行传递时进行调用。查看全部 -
在头文件中声明函数时设置默认值;
在函数定义时进行初始化;查看全部 -
1.默认构造函数
在实例化对象时,无参数的构造函数或者有参数但参数具有默认值的构造函数。
2.构造函数初始化列表
1- 定义方式:
Student():m_strName("james"),m_iAge(15){};
2-使用特点:
初始化列表先于构造函数执行;
初始化列表只能用于构造函数;
初始化列表可以同时初始化多个数据成员。
3.初始化列表的必要性
对常量设置初始值时可采用 初始化列表的方式来防止 语法错误。查看全部 -
示例代码:
1.teacher.h 头文件代码: //对数据成员和结构函数进行声明
#include<iostream>
#include<string>
using namespace std;
class Teacher
{
public:
Teacher();
Teacher(string name, int age);
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
string m_strName;
int m_iAge;
};
2.teacher.cpp //对结构函数和功能函数进行定义
#include<iostream>
#include<stdlib.h>
#include<string>
#include "teacher.h"
Teacher::Teacher()
{
m_strName = "james";
m_iAge = 5;
cout << "Teacher()" << endl;
}
Teacher::Teacher(string name, int age)
{
m_strName = name;
m_iAge = age;
cout <<"Teacher(string name, int age)" << endl;
}
void Teacher::setName(string name)
{
m_strName = name;
}
string Teacher::getName()
{
return m_strName;
}
void Teacher::setAge(int age)
{
m_iAge = age;
}
int Teacher::getAge()
{
return m_iAge;
}
3.test.cpp 代码: //主函数结构,对象实例化及调用
#include<iostream>
#include<stdlib.h>
#include<string>
#include "teacher.h"
using namespace std;
int main(void)
{
Teacher t1;
Teacher t2("lucy", 15);
cout << t1.getName() << " " << t1.getAge() << endl;
cout << t2.getName()<< " " << t2.getAge() << endl;
system("pause");
return 0;
}
4.注意事项
构造函数默认值的设置,保证多个函数重载时不会产生冲突。
构造函数在对象实例化时被调用。查看全部
举报