命名空间
using namespace std
namespace abce{
int age = 33;
char * name = "我是猛男";
void show(){
cout << "name:" << name << ",age:" << age << endl;
}
};
namespace a{
namespace b{
c(){}
}
}
int main(){
cout << "命名空间" << endl;
using namespace bace;
int ageValue = abce::age;
ageValue = age;
show();
using namespace a::b
c();
a::b::c();
return 0;
}
构造函数详解
class Student{
public:
Student(){
cout << "空参数构造函数" << endl;
}
Student (char * name) {
cout << "一个参数构造函数" << endl;
this->name = name;
}
Student(char * name):name(name){
cout << "一个参数构造函数" << endl;
}
Student(char * name):Student(name,88){
cout << "一个参数构造函数" << endl;
}
Student(char * name, int age){
this->name = (char *)(malloc(sizeof (char *) * 10));
strcpy(this->name, name)
this->age = age;
cout << "两个参数构造函数" << endl;
}
Student(char * name, int age):name(name),age(age){
}
~Student(){
cout << "调用delete,执行析构函数" << endl;
if(this->name) {
free(this->name);
this->name = NULL;
}
}
private:
char * name;
int age;
public:
void setAge(int age);
void setName(char * name);
void getAge();
char * getName();
};
#include "Student.h"
void Student::setAge(int age){
this->age = age;
}
void Student::setName(char * name){
this->name = name;
}
void Student::getAge(){
return this->age;
}
void Student::getAge(){
retrun this->name;
}
#include <iostream>
using namespace std;
int mian(){
Student stu;
stu.setAge(34);
stu.setName("我是你爹");
cout << "name" << stu.getName() << ", age:" << stu.getAge() << endl;
Student stu1("雄霸",30);
Student * str = new Student("雄霸",88);
str ->setAge(99);
str ->setName("李连杰");
cout << "name:" << str ->getName() << ",age:" << str ->getAge() << endl;
delete str ;
student2 = NULL;
return 0;
}
拷贝构造函数
Student s1 = {"张三丰",11};
Student s2 = s1;
cout << s2.name << "," << s2.age << endl;
Student (const Student & student) {
cout << "拷贝函数" << endl;
this->name = student.name;
this->age = student.age-10;
}
Student stu2;
stu2 = s1;
Student * s1 = new Student("张三",112);
Student * s2 = s1;
s1->age(99);
cout << "s1的age" << s1->getAge() << endl;
指针常量跟常量指针
int number = 9;
int number2 = 8;
const int * numberP2 = &number;
*numberP2 = 100;
numberP2 = &number2;
int * const numberP2 = &number;
*number2 = 100;
numberP2 = &number2;
const int * const numberP2 = &number;