VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test

C++ Cơ Bản

Ngôn ngữ lập trình C++ là gì? Lịch sử của C++ Các tính năng của C++ Cài đặt môi trường lập trình C++ Chương trình C++ đầu tiên Biến trong C++ Các kiểu dữ liệu trong C++ Ép kiểu trong C++ Từ khóa trong C++ Các toán tử trong C++ Comment trong C++ Các hằng số trong C++ count, cin và endl trong C++ Ký tự đặc biệt trong C++ Namespace trong C++ Template trong C++ Modifier trong C/C++

Câu Lệnh Điều Khiển C++

Mệnh đề if-else Mệnh đề switch Vòng lặp for Vòng lặp while Vòng lặp do-while Lệnh Break Lệnh Continue Lệnh Goto

C++ Function

Hàm trong C++ Hàm do người dùng định nghĩa Các kiểu hàm trong C++ Đệ quy trong C++ Call by value Call by reference

C++ Array

Mảng (array) trong C++ Mảng 2 chiều trong C++ Truyền mảng vào hàm

C++ Poiter

Con trỏ trong C++ Con trỏ Null trong C++ Con trỏ số học trong C++ Con trỏ và mảng trong C++ Mảng con trỏ trong C++ Con trỏ tới con trỏ trong C++ Truyền con trỏ tới hàm trong C++ Trả về con trỏ từ hàm trong C++

C++ Lớp Object

Khái niệm lập trình hướng đối tượng trong C++ Lớp và đối tượng trong C++ Constructor trong C++ Destructor trong C++ this trong C++ static trong C++ struct trong C++ Enumeration trong C++ Hàm Friend trong C++ Hàm Math trong C++ Tính kế thừa trong C++ Tính đa hình trong C++ Tính trừu tượng trong C++ Tính đóng gói trong C++ Interface trong C++

Nạp Chồng Toán Tử

Nạp chồng toán tử và Nạp chồng hàm trong C++ Nạp chồng toán tử một ngôi trong C++ Nạp chồng toán tử nhị phân trong C++ Nạp chồng toán tử quan hệ trong C++ Nạp chồng toán tử Input/Output trong C++ Nạp chồng toán tử ++ và -- trong C++ Nạp chồng toán tử gán trong C++ Nạp chồng toán tử gọi hàm () trong C++ Nạp chồng toán tử subscript [] trong C++ Nạp chồng toán tử truy cập thành viên lớp (->) trong C++

Lập Trình C++

Xử lý ngoại lệ trong C++ Đa luồng trong C++
Bài Tập C++ Có Lời Giải

Từ khóa static trong C++


Con trỏ this trong C++
Struct trong C++

Chúng ta có thể định nghĩa các thành viên lớp là static bởi sử dụng từ khóa static trong C++. Khi chúng ta khai báo một thành viên của một lớp là static, khi đó dù cho có bao nhiêu đối tượng của lớp được tạo, thì sẽ chỉ có một bản sao của thành viên static.

Một thành viên static chỉ cần khởi tạo 1 lần và được chia sẻ cho tất cả đối tượng của lớp. Tất cả dữ liệu static được khởi tạo về 0 khi đối tượng đầu tiên được tạo. Chúng ta không thể khởi tạo thành viên static trong định nghĩa lớp, nhưng nó có thể được định nghĩa bên ngoài lớp đó bởi việc khai báo lại biến static như trong ví dụ sau, sử dụng toán tử phân giải phạm vi :: để nhận diện lớp nào sở hữu nó.


Nội dung chính

  • Lợi thế của từ khóa static trong C++
  • Biến static trong C++
  • Ví dụ sử dụng từ khóa static trong C++

Lợi thế của từ khóa static trong C++

Bộ nhớ hiệu quả: Bây giờ chúng ta không cần tạo cá thể để truy cập các thành viên static, vì vậy nó sẽ tiết kiệm bộ nhớ. Nó sẽ không nhận được bộ nhớ mỗi khi thể hiện được tạo.



Biến static trong C++

Một biến được khai báo là static được gọi là biến static. Không giống như biến instance nhận bộ nhớ mỗi lần bạn tạo đối tượng, chỉ có một bản sao của biến static được tạo trong bộ nhớ. Nó được chia sẻ cho tất cả các đối tượng.


Ví dụ sử dụng từ khóa static trong C++

Hãy xem ví dụ đơn giản sau để hiểu hơn về từ khóa static trong C++:

Ví dụ 1: ví dụ sau là một lớp tài khoản ngân hàng, chúng ta muốn tất cả các đối tượng tài khoản được tạo ra đều có một tỉ lệ lãi suất (rateOfInterest) giống nhau.

#include <iostream>

using namespace std;

class Account {
public:
    int accNo; //data member (bien instance)
    string name; //data member(bien instance)
    static float rateOfInterest;
    Account(int accNo, string name) {
        this->accNo = accNo;
        this->name = name;
    }
    void display() {
        cout << accNo << " " << name << " " << rateOfInterest << endl;   
    }
};

float Account::rateOfInterest = 6.8;

int main(void)
{
    Account a1 = Account(201, "Phan Van Vinh"); //tao doi tuong Account
    Account a2 = Account(202, "Dao Van Hoa"); //tao doi tuong Account
    a1.display();
    a2.display();
    return 0;
}

Kết quả:

201 Phan Van Vinh 6.8
202 Dao Van Hoa 6.8

Ví dụ 2: Đếm các đối tượng được tạo ra.

#include <iostream>
using namespace std;
class Account {
public:
    int accno; //data member (bien instance)
    string name;
    static int count;
    Account(int accno, string name) {
        this->accno = accno;
        this->name = name;
        count++;
    }
    void display() {
        cout << accno << " " << name << endl;
    }
};

int Account::count = 0;

int main(void) {
    Account a1 = Account(201, "Phan Van Vinh"); //tao doi tuong Account
    Account a2 = Account(202, "Dao Van Hoa"); //tao doi tuong Account
    Account a3 = Account(203, "Tran Van Phu"); //tao doi tuong Account
    a1.display();
    a2.display();
    a3.display();
    cout << "Tong cac doi tuong la: " << Account::count;
    return 0;
}

Kết quả:

201 Phan Van Vinh
202 Dao Van Hoa
203 Tran Van Phu
Tong cac doi tuong la: 3

Con trỏ this trong C++
Struct trong C++

Recent Updates

Đa luồng trong C++Xử lý ngoại lệ trong C++Nạp chồng toán tử truy cập thành viên lớp (->) trong C++Nạp chồng toán tử subscript [] trong C++Nạp chồng toán tử gọi hàm () trong C++Nạp chồng toán tử gán trong C++Nạp chồng toán tử ++ và -- trong C++Nạp chồng toán tử Input/Output trong C++Nạp chồng toán tử quan hệ trong C++Nạp chồng toán tử nhị phân trong C++Nạp chồng toán tử một ngôi trong C++Nạp chồng toán tử và Nạp chồng hàm trong C++

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml