1 可变参数
#include <stdarg.h> // 可变参数的支持
void sum(int count , ...){
// 保存可变参数
va_list vp ;
// 可变参数开始
va_start(vp ,count);
for (int i = 0; i < count; ++i) {
// 获取可变参数
int number = va_arg(vp,int);
cout << number << endl;
}
// 可变参数结束
va_end(vp);
}
void function01(){
sum(4,1,3,4,5);
}
2 C++ static 关键字 需要先定义 ,后实现 然后才能修改值
class Person{
public:
static int age;
char * name ;
static void updataAge(int ages){
age = ages;
}
// 方法后面通过 const 修饰 则表明该方法,无法被修改 为只读方法
void showInfo() const {
// this->name = "";// 无法修改name 的值
}
};
int Person::age = 43 ;
/**
* 静态的总结:
* 1.可以直接通过类名::静态成员(字段/函数)
* 2.静态的属性必须要初始化,然后再实现(规则)
* 3.静态的函数只能取操作静态的属性和方法(Java)
*/
void function02(){
cout << Person::age << endl ;
Person::updataAge(54);
cout << Person::age << endl ;
};
3 C++ 对象中 ,为什么需要this 代表自己
4 友元函数
class Person2{
private:
int age = 12;
//友元函数的定义
friend void updataAge(Person2 * person2 , int newAge);
public:
int getAge(){
return this->age;
}
};
//友元函数的实现
void updataAge(Person2 * person2 , int newAge){
person2->age = newAge;
}
void function03(){
Person2 p2 ;
cout << p2.getAge() << endl;
updataAge(&p2,43);
cout << p2.getAge() << endl;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
12
43
Process finished with exit code 0