C++ 基础语法

2018-04-09  本文已影响0人  BookThief
1.1
const double Pi = 22.0 / 7;
1.2
constexpr double GetPi() {return 22.0 / 7;}

constexpr double TwicePi() {return 2 * GetPi;}
1.3.
enum Directions{
    north,
    south,
    east,
    west
};

Directions Mydirection = west; // 这个枚举常量只能取前面指定的值
1.4
# define Pi 3.1415
2.1
int Manynumbers [5] = {0};  //初始化为相同的值
int Manynumbers [5] = {2, 6, 11, 44, 43}; //初始化为不同的值
int Manynumbers [5] = {19, 12}; //初始化部分值

const int ARRAY_LENGTH = 5;
int Manynumbers [ARRAY_LENGTH] = {10};
int Manynumbers [] = {12, 13, 18}; //知道数组每个元素的初始值,可以不指定数组长度
2.2
int Multiarray [2][3] = {{0, 1, 2}, {3, 4, 5}};
int Multiarray [2][3] = {0, 1, 2, 3, 4, 5};
2.3
sizeof(variable)
sizeof(type)

sizeof(int); //4
sizeof(Manynumbers); //5*4=20
3.1
// switch-case
sitch(expresion){
    case A:
        Do;
        break;
    case B:
        Do;
        break;
    default:
        Do;
        break;
}
3.2
int Bignum = (a > b)?a:b;
3.3
while(true){
    Do;
    if(expression)
        break;
}

for(;;){
    Do;
    if(expression)
        break;
}

do{}while(); //使用此循环时,
4.1
double Area(double radius);//类型+函数名+形参列表(函数形参类似于局部变量,只能在函数内部使用)
double Area(double radius){
    return Pi*radius*radius;
}
double Area(double radius, double Pi = 3.14);
4.2
int GetFib(int fibN){
    if(fibN < 2)
        return fibN;
    else
        return GetFib(fibN-1) + Get(fibN-2);
}
4.3
double Area(double radius); //圆形面积

double Area(double radius, double height); //柱体面积
4.4
int Mynumbers[] = {12,12,14,32};
void DisplayArray(int numbers[]/int[] numbers, int length){
    for(int index = 0;index<length; ++length)
        cout<<numbers[index]<<endl;
}
DisplayArray(Mynumbers,4);
4.5
double Area(double radius);
double Area(double& radius); //去这个值的地址
5.1
int Age = 24;
int* pint = &Age; // 引用运算符& 又称 取地址运算符
cout<<*pint; // 解除引用运算符* 又称 取内容运算符
5.2
int numbers[100]={0};
Type* pointer = new Type;
int* pnumber = new int; //得到指向一个int的指针
int* pnumbers = new int[10] //得到一个指向10个int的指针
delete pnumber;
delete[] pnumbers;
5.3
int* pointer = &age;
++pointer = &age + sizeof(int)
5.4
int Age = 24;
const int* pointer = &Age; //指针指向的内容永远不变,但指针地址可能会变
int height = 180;
pointer = &height //YES
*pointer = height //NO
int Age = 24;
int* const pointer = &Age; //指针指向的地址永远不变,但指针指向的内容可能会变
int height = 180;
pointer = &height //NO
*pointer = height //YES
5.5
int Mynumbers[5] = {0};
int* Poniters = Mynumbers;
*(Pointers+1) == Mynumbers[1]
// Mynumbers就是一个指针,指向数组的第一个元素Mynumbers[0]
5.6
int main(){
    try
    {
        int* Age = new int[1000];
        ...
        delete[] Age;
    }
    catch(bad_alloc)
    {
        cout<<"memory allocation failed."<<endl;
    }
    return 0;
}
5.7
int* point = NULL; //point 是个指针,int* 是指针类型

int original = 12;
int& refere = original; //refere 是个引用,是后面变量的别名, int& 是引用类型

*point, &refere 里* &是操作符

const int& refere = original; //仅仅是别名,不能修改原始值
6.1
class Human
{
    // 属性
    string Name;
    string DateofBirth;
    string PlaceofBirth;
    string Gender;
    
    // 方法
    void introduceself();
    
}
6.2
int Pi = 3.1415;
Human Tom;
int* pointer = new int[5];
delete* pointer;

Human* phuman = new Human();
delete phuman;
6.3
Human Tom;
Tom.DateofBirth = "1994";
Tom.introduceself();

Human* PTom = new Human();
PTom->DateofBirth = "1994";
PTom->introduceself();
(*PTom).DateofBirth = "1994";
6.4
class Human
{
private:
    int Age;
    string Name;

public:
    int GetAge(){
        return Age;  //类内函数可以直接在内部访问类的属性
    }
    
    void SetAge(InputAge){
        Age = InputAge;
    }
}


Human Tom;
Tom.Age = 19; //返回一个错误,无法访问私有成员
// 但可以通过类的函数访问和控制,但这样对于管理者来说,是可控的行为。
6.5
class Human
{
private:
    int Age;
    string Name;

public:
    Human(){
        Age = 0;
    }
    Human(string HumanName){
        Name = HumanName;
    }
    Human(string HuamnName, int HuamanAge){
        Name = HuamnName;
        Age = HumanAge;
    }
    ~Human(){
        
    }
}
6.6
class Human
{
private:
    int Age;
    string Name;

public:
    int GetAge(){
        return Age;  //类内函数可以直接在内部访问类的属性
    }
    
    void SetAge(this, InputAge){
        int OriginalAge = GetAge()
        Age = InputAge; // this->Age = InputAge;
    }
}
7.1
上一篇 下一篇

猜你喜欢

热点阅读