References Trong C++

Tạo Tài Liệu Tham Khảo

Một biến tham chiếu là một “tham chiếu” đến một biến hiện có và nó được tạo bằng toán tử &:

string food = "Pizza";  // food variable
string &meal = food;    // reference to food

Bây giờ, chúng ta có thể sử dụng tên biến food hoặc tên meal bữa ăn để tham chiếu đến biếnfood:

Example

string food = "Pizza";
string &meal = food;

cout << food << "\n";  // Outputs Pizza
cout << meal << "\n";  // Outputs Pizza

 

 

The post References Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/references-trong-c/

Structures (struct) Trong C++

C++ Structures

Cấu trúc (còn được gọi là cấu trúc) là một cách để nhóm một số biến có liên quan vào một nơi. Mỗi biến trong cấu trúc được biết đến như một thành viên của cấu trúc.

Không giống như một mảng, một cấu trúc có thể chứa nhiều kiểu dữ liệu khác nhau (int, string, bool, v.v.).

Tạo Cấu Trúc

Để tạo một cấu trúc, hãy sử dụng từ khóa struct và khai báo từng thành viên của nó bên trong dấu ngoặc nhọn.

Sau khi khai báo, chỉ định tên của biến cấu trúc (myStructure trong ví dụ bên dưới):

struct {             // Structure declaration
  int myNum;         // Member (int variable)
  string myString;   // Member (string variable)
} myStructure;       // Structure variable

Thành Viên Cấu Trúc Truy Cập

Để truy cập các thành viên của một cấu trúc, hãy sử dụng cú pháp dấu chấm (.):

Example

Gán dữ liệu cho các thành viên của một cấu trúc và in nó:

// Create a structure variable called myStructure
struct {
  int myNum;
  string myString;
} myStructure;

// Assign values to members of myStructure
myStructure.myNum = 1;
myStructure.myString = "Hello World!";

// Print members of myStructure
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";

Một Cấu Trúc Trong Nhiều Biến

Bạn có thể sử dụng dấu phẩy (,) để sử dụng một cấu trúc trong nhiều biến:

struct {
  int myNum;
  string myString;
} myStruct1, myStruct2, myStruct3; // Multiple structure variables separated with commas

Ví dụ này cho thấy cách sử dụng một cấu trúc trong hai biến khác nhau:

Example

Use one structure to represent two cars:

struct {
  string brand;
  string model;
  int year;
} myCar1, myCar2; // We can add variables by separating them with a comma here

// Put data into the first structure
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;

// Put data into the second structure
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;

// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";

 

The post Structures (struct) Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/structures-struct-trong-c/

Omit Array Size Trong C++

Bỏ Qua Kích Thước Mảng

Bạn không phải chỉ định kích thước của mảng. Nhưng nếu bạn không làm như vậy, nó sẽ chỉ lớn bằng các phần tử được chèn vào đó:

string cars[] = {"Volvo", "BMW", "Ford"}; // size of array is always 3

Điều này là hoàn toàn tốt. Tuy nhiên, vấn đề nảy sinh nếu bạn muốn có thêm không gian cho các yếu tố trong tương lai. Sau đó, bạn phải ghi đè các giá trị hiện có:

string cars[] = {"Volvo", "BMW", "Ford"};
string cars[] = {"Volvo", "BMW", "Ford", "Mazda", "Tesla"};

Tuy nhiên, nếu bạn chỉ định kích thước, mảng sẽ dành thêm không gian:

string cars[5] = {"Volvo", "BMW", "Ford"}; // size of array is 5, even though it's only three elements inside it

Giờ đây, bạn có thể thêm phần tử thứ tư và thứ năm mà không cần ghi đè những phần tử khác:

Example

cars[3] = "Mazda";
cars[4] = "Tesla";

Bỏ Qua Các Phần Tử Trên Khai Báo

Cũng có thể khai báo một mảng mà không cần chỉ định các phần tử trên khai báo và thêm chúng sau:

Example

string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
...

 

The post Omit Array Size Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/omit-array-size-trong-c-2/

Arrays and Loops Trong C++

Vòng Qua Một Mảng

Bạn có thể lặp qua các phần tử của mảng bằng vòng lặp for.

Ví dụ sau xuất ra tất cả các phần tử trong mảng ô tô:

Example

string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < 4; i++) {
  cout << cars[i] << "\n";
}

Ví dụ sau xuất ra chỉ mục của mỗi phần tử cùng với giá trị của nó:

Example

 

string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < 4; i++) {
  cout << i << ": " << cars[i] << "\n";
}

 

The post Arrays and Loops Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/arrays-and-loops-trong-c/

Break and Continue Trong C++

C++ Break

Bạn đã thấy câu lệnh break được sử dụng trong chương trước của hướng dẫn này. Nó được sử dụng để “nhảy ra” của một câu lệnh switch.

Câu lệnh break cũng có thể được sử dụng để nhảy ra khỏi vòng lặp.

Ví dụ này nhảy ra khỏi vòng lặp khi i bằng 4:

Example

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  cout << i << "\n";
}

C++ Continue

Câu lệnh continue ngắt một lần lặp (trong vòng lặp), nếu một điều kiện cụ thể xảy ra và tiếp tục với lần lặp tiếp theo trong vòng lặp.

Ví dụ này bỏ qua giá trị của 4:

Example

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  cout << i << "\n";
}

Break and Continue in While Loop

Bạn cũng có thể sử dụng break và continue trong vòng lặp while:

Break Example

int i = 0;
while (i < 10) {
  cout << i << "\n";
  i++;
  if (i == 4) {
    break;
  }
}

Continue Example

int i = 0;
while (i < 10) {
  if (i == 4) {
    i++;
    continue;
  }
  cout << i << "\n";
  i++;
}

Bài Tập C ++

Kiểm tra bản thân với các bài tập

Bài Tập

Dừng vòng lặp nếu i là 5:

for (int i = 0; i < 10; i++) {
  if (i == 5) {   
    
;
  }
  cout << i << "\n";
}

 

The post Break and Continue Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/break-and-continue-trong-c/

For Loop Trong C++

C++ For Loop

Khi bạn biết chính xác số lần bạn muốn lặp qua một khối mã, hãy sử dụng vòng lặp for thay vì vòng lặp while:

Syntax

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

Câu lệnh 1 được thực hiện (một lần) trước khi khối mã thực thi.

Câu lệnh 2 xác định điều kiện để thực thi khối mã.

Câu lệnh 3 được thực hiện (mọi lúc) sau khi khối mã đã được thực thi.

Ví dụ dưới đây sẽ in các số từ 0 đến 4:

Example

for (int i = 0; i < 5; i++) {
  cout << i << "\n";
}

Giải thích ví dụ

Câu lệnh 1 đặt một biến trước khi vòng lặp bắt đầu (int i = 0).

Câu lệnh 2 xác định điều kiện để vòng lặp chạy (i phải nhỏ hơn 5). Nếu điều kiện đúng, vòng lặp sẽ bắt đầu lại, nếu sai, vòng lặp sẽ kết thúc.

Câu lệnh 3 tăng một giá trị (i ++) mỗi khi khối mã trong vòng lặp được thực thi.

Một Ví Dụ Khác

Ví dụ này sẽ chỉ in các giá trị chẵn từ 0 đến 10:

Example

for (int i = 0; i <= 10; i = i + 2) {
  cout << i << "\n";
}

 

The post For Loop Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/for-loop-trong-c/

Models Trong Django

Mô hình Django là một bảng trong cơ sở dữ liệu của bạn.

Cơ sở dữ liệu SQLite

Khi chúng tôi tạo dự án Django, chúng tôi nhận được một cơ sở dữ liệu SQLite trống. Nó được tạo trong thư mục gốc myworld.

Chúng tôi sẽ sử dụng cơ sở dữ liệu này trong hướng dẫn này.

Tạo bảng (Model)

Để tạo một bảng mới, chúng ta phải tạo một Model mới.

Trong thư mục /Member/, hãy mở tệp models.py. Nó gần như trống theo mặc định, chỉ có câu lệnh nhập và nhận xét:

members/models.py:

from django.db import models

# Create your models here.

Để thêm bảng Thành viên vào cơ sở dữ liệu của chúng tôi, hãy bắt đầu bằng cách tạo một lớp Thành viên và mô tả các trường bảng trong đó:

members/models.py:

from django.db import models

class Members(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)

Trường đầu tiên, “firstname” là trường Văn bản và sẽ chứa tên của các thành viên.

Trường thứ hai, “lastname ” cũng là trường Văn bản, với họ của các thành viên.

Cả “firstname” và “lastname” đều được thiết lập để có tối đa 255 ký tự.

Sau đó điều hướng đến thư mục / myworld / và chạy lệnh này:

py manage.py makemigrations members

Điều này sẽ dẫn đến kết quả đầu ra này:

Migrations for 'members':
  members\migrations\0001_initial.py
    - Create model Members

(myproject) C:\Users\Your Name\myproject\myworld>

Django tạo một tệp với bất kỳ thay đổi mới nào và lưu trữ tệp trong thư mục / migrations /.

Next time you run py manage.py migrate Django will create and execute an SQL statement, based on the content of the new file in the migrations folder.

Lần tới khi bạn chạy py management.py migrate Django sẽ tạo và thực thi một câu lệnh SQL, dựa trên nội dung của tệp mới trong thư mục di chuyển.

Chạy lệnh di chuyển:

py manage.py migrate

Điều này sẽ dẫn đến kết quả đầu ra này:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, members, sessions
Running migrations:
  Applying members.0001_initial... OK

(myproject) C:\Users\Your Name\myproject\myworld>

Câu lệnh SQL được tạo từ mô hình là:

CREATE TABLE "members_members" (
"id" INT NOT NULL PRIMARY KEY AUTOINCREMENT,
"firstname" varchar(255) NOT NULL,
"lastname" varchar(255) NOT NULL);

Bây giờ bạn có một bảng Thành viên trong cơ sở dữ liệu của bạn!

The post Models Trong Django first appeared on Techacademy.

source https://techacademy.edu.vn/models-trong-django/

Inheritance Trong C++

Inheritance

Trong C ++, có thể kế thừa các thuộc tính và phương thức từ lớp này sang lớp khác. Chúng tôi nhóm “khái niệm kế thừa” thành hai loại:

  • lớp dẫn xuất (con) – lớp kế thừa từ lớp khác
  • lớp cơ sở (cha) – lớp được kế thừa từ

Để kế thừa từ một lớp, hãy sử dụng biểu tượng:.

Trong ví dụ dưới đây, lớp Car (con) kế thừa các thuộc tính và phương thức từ lớp Vehicle (cha):

Example

// Base class
class Vehicle {
  public:
    string brand = "Ford";
    void honk() {
      cout << "Tuut, tuut! \n" ;
    }
};

// Derived class
class Car: public Vehicle {
  public:
    string model = "Mustang";
};

int main() {
  Car myCar;
  myCar.honk();
  cout << myCar.brand + " " + myCar.model;
  return 0;
}

Multilevel Inheritance

Một lớp cũng có thể được dẫn xuất từ một lớp, lớp này đã được dẫn xuất từ một lớp khác.

Trong ví dụ sau, MyGrandChild có nguồn gốc từ lớp MyChild (có nguồn gốc từ MyClass).

Example

// Base class (parent)
class MyClass {
  public:
    void myFunction() {
      cout << "Some content in parent class." ;
    }
};

// Derived class (child)
class MyChild: public MyClass {
};

// Derived class (grandchild)
class MyGrandChild: public MyChild {
};

int main() {
  MyGrandChild myObj;
  myObj.myFunction();
  return 0;
}

Access Specifiers

Bạn đã học được từ chương Bộ định nghĩa truy cập rằng có ba mã định nghĩa có sẵn trong C ++. Public (các thành viên của một lớp có thể truy cập từ bên ngoài lớp) và private (các thành viên chỉ có thể được truy cập trong lớp). Thông số thứ ba, protected, tương tự như private, nhưng nó cũng có thể được truy cập trong lớp kế thừa:

Example

// Base class
class Employee {
  protected: // Protected access specifier
    int salary;
};

// Derived class
class Programmer: public Employee {
  public:
    int bonus;
    void setSalary(int s) {
      salary = s;
    }
    int getSalary() {
      return salary;
    }
};

int main() {
  Programmer myObj;
  myObj.setSalary(50000);
  myObj.bonus = 15000;
  cout << "Salary: " << myObj.getSalary() << "\n";
  cout << "Bonus: " << myObj.bonus << "\n";
  return 0;
}

The post Inheritance Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/inheritance-trong-c/

Polymorphism Trong C++

Polymorphism

Đa hình có nghĩa là “nhiều dạng”, và nó xảy ra khi chương trình có nhiều class có liên quan với nhau theo kế thừa.

Giống như đã nêu trong chương trước; Kế thừa cho phép chúng ta kế thừa các thuộc tính và phương thức từ một lớp khác. Tính đa hình sử dụng các phương pháp đó để thực hiện các nhiệm vụ khác nhau. Điều này cho phép chúng tôi thực hiện một hành động theo những cách khác nhau.

Ví dụ, một lớp cơ sở có tên là Animal có một phương thức gọi là animalSound (). Các lớp Động vật có nguồn gốc có thể là Lợn, Mèo, Chó, Chim – Và mỗi loại động vật có âm thanh khác nhau(lợn kêu và mèo kêu meo meo, v.v.):

Example

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
  }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

Bây giờ chúng ta có thể tạo các đối tượng Pig và Dog và ghi đè phương thức animalSound ():

Example

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
   }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

int main() {
  Animal myAnimal;
  Pig myPig;
  Dog myDog;

  myAnimal.animalSound();
  myPig.animalSound();
  myDog.animalSound();
  return 0;
}

 

The post Polymorphism Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/polymorphism-trong-c/

Exceptions Trong C++

C++ Exceptions

Khi thực thi mã C ++, các lỗi khác nhau có thể xảy ra: lỗi mã hóa do lập trình viên thực hiện, lỗi do nhập sai hoặc những điều không thể lường trước khác.

Khi xảy ra lỗi, C ++ thường sẽ dừng và tạo ra thông báo lỗi. Thuật ngữ kỹ thuật cho điều này là: C ++ sẽ ném một ngoại lệ (ném một lỗi).

C++ try and catch

Xử lý ngoại lệ trong C ++ bao gồm ba từ khóa:try, throw và catch:

Câu lệnh try cho phép bạn xác định một khối mã được kiểm tra lỗi trong khi nó đang được thực thi.

Từ khóa throw ném một ngoại lệ khi phát hiện sự cố, điều này cho phép chúng tôi tạo ra một lỗi tùy chỉnh.

Câu lệnh catch cho phép bạn xác định một khối mã sẽ được thực thi, nếu có lỗi xảy ra trong khối try.

Các từ khóa try và catch đi theo từng cặp:

Example

try {
  // Block of code to try
  throw exception; // Throw an exception when a problem arise
}
catch () {
  // Block of code to handle errors
}

Hãy xem xét ví dụ sau:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw (age);
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Age is: " << myNum;
}

Giải thích ví dụ

Chúng tôi sử dụng khối try để kiểm tra một số mã: Nếu biến age nhỏ hơn 18, chúng tôi sẽ throw một ngoại lệ và xử lý nó trong khối catch của chúng tôi.

Trong khối catch lỗi, chúng tôi bắt lỗi và làm điều gì đó với nó. Câu lệnh catch nhận một tham số: trong ví dụ của chúng tôi, chúng tôi sử dụng một biến int (myNum) (vì chúng tôi đang ném một ngoại lệ kiểu int trong khối try (age)), để xuất ra giá trị của age.

Nếu không có lỗi nào xảy ra (ví dụ: nếu age là 20 thay vì 15, nghĩa là lớn hơn 18), khối catch được bỏ qua:

Example

int age = 20;

Bạn cũng có thể sử dụng từ khóa throw để xuất ra một số tham chiếu, chẳng hạn như mã / mã lỗi tùy chỉnh cho mục đích tổ chức:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Error number: " << myNum;
}

Xử Lý Mọi Loại Ngoại Lệ (…)

Nếu bạn không biết kiểu throw được sử dụng trong khối try, bạn có thể sử dụng cú pháp “ba chấm” (…) bên trong khối catch, cú pháp này sẽ xử lý bất kỳ loại ngoại lệ nào:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (...) {
  cout << "Access denied - You must be at least 18 years old.\n";
}

 

The post Exceptions Trong C++ first appeared on Techacademy.

source https://techacademy.edu.vn/exceptions-trong-c/